Matumizi ya Traits katika Traits

Traits, kama vile madarasa, pia wanaweza kutumia traits zingine. Hebu tuangalie kwa mfano. Tuchukulie tuna trait kama hii na mbinu mbili:

Trait1.php<?php
  trait Trait1
  {
    private function method1()
    {
      return 1;
    }
    
    private function method2()
    {
      return 2;
    }
  }
?>

Tuchukulie tuna trait nyingine:

Trait2.php<?php
  trait Trait2
  {
    private function method3()
    {
      return 3;
    }
  }
?>

Wacha tuunganishe trait Trait1 kwenye trait Trait2:

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // tunatumia trait ya kwanza
    
    private function method3()
    {
      return 3;
    }
  }
?>

Baada ya muunganisho kama huo, itatokea kwamba Trait2 zaidi ya mbinu zake mwenyewe itakuwa na mbinu za trait Trait1. Hebu tuangalie hili: tufanye darasa Test, tuunganishe trait Trait2 na tuhakikishe kuwa katika darasa letu zitaonekana mbinu za trait ya kwanza, na pia ya pili:

Test.php<?php
  class Test
  {
    use Trait2; // tunaunganisha trait ya pili
    
    public function __construct()
    {
      echo $this->method1(); // mbinu ya trait ya kwanza
      echo $this->method2(); // mbinu ya trait ya kwanza
      echo $this->method3(); // mbinu ya trait ya pili
    }
  }
?>
Задание 1

Kwa kujitegemea fanya traits kama zile nilizo nazo, kama mimi na uziunganishe kwenye darasa Test. Fanya katika darasa hili mbinu getSum, inarudisha jumla ya matokeo ya mbinu za traits zilizounganishwa.