Wiele traitów w OOP w PHP

W klasie można używać nie jednego, a wielu traitów. W tym przejawia się ich zaleta w porównaniu z dziedziczeniem. Potrzebne do użycia w klasie traity można wskazać przez przecinek po słowie kluczowym use.

Spójrzmy na przykład. Załóżmy, że mamy dwa traity. Pierwszy:

Helper1.php<?php
  trait Helper1
  {
    private $name;
    
    public function getName()
    {
      return $this->name;
    }
  }
?>

Drugi:

Helper2.php<?php
  trait Helper2
  {
    private $age;
    
    public function getAge()
    {
      return $this->age;
    }
  }
?>

Użyjmy naszych traitów w klasie:

User.php<?php
  class User
  {
    use Helper1, Helper2; // podłączamy traity
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

Stwórz 3 traity o nazwach Trait1, Trait2 i Trait3. Niech w pierwszym traicie będzie metoda method1, zwracająca 1, w drugim traicie - metoda method2, zwracająca 2, a w trzecim traicie - metoda method3, zwracająca 3. Niech wszystkie te metody będą prywatne.

Задание 2

Stwórz klasę Test, wykorzystującą wszystkie trzy stworzone przez nas traity. Stwórz w tej klasie publiczną metodę getSum, zwracającą sumę wyników metod podłączonych traitów.