Traits használata traitsekben

A traitsek, hasonlóan az osztályokhoz, más traitseket is használhatnak. Nézzük ezt egy példán keresztül. Tegyük fel, hogy van egy ilyen traitünk két metódussal:

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

Tegyük fel, hogy van még egy másik traitünk:

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

Kapcsoljuk a Trait2 traithoz a Trait1 traitet:

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // az első trait használata
    
    private function method3()
    {
      return 3;
    }
  }
?>

Ezen kapcsolás után az eredmény az lesz, hogy a Trait2 a saját metódusai mellett a Trait1 trait metódusait is tartalmazni fogja. Ellenőrizzük ezt: készítsünk egy Test osztályt, kapcsoljuk hozzá a Trait2 traitet, és győződjünk meg arról, hogy az osztályunkban megjelennek mind az első, mind a második trait metódusai:

Test.php<?php
  class Test
  {
    use Trait2; // a második trait csatlakoztatása
    
    public function __construct()
    {
      echo $this->method1(); // az első trait metódusa
      echo $this->method2(); // az első trait metódusa
      echo $this->method3(); // a második trait metódusa
    }
  }
?>
Задание 1

Készítsen önállóan ugyanolyan traitseket, mint nekem, és kapcsolja őket a Test osztályhoz. Készítsen ebben az osztályban egy getSum metódust, amely visszaadja a csatlakoztatott traitsek metódusainak eredményeinek összegét.