Некалькі трэйтаў у Аб'ектна-Арыентаваным Праграмаванні ў PHP

У класе можна выкарыстоўваць не адзін, а некалькі трэйтаў. У гэтым і праяўляецца іх перавага перад наследаваннем. Патрэбныя для выкарыстання ў класе трэйты можна паказаць праз коску пасля ключавога слова use.

Давайте паглядзім на прыкладзе. Хай у нас ёсць два трэйты. Першы:

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

Другі:

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

Выкарыстаем нашы трэйты ў класе:

User.php<?php
  class User
  {
    use Helper1, Helper2; // падключаем трэйты
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

Зрабіце 3 трэйта з назвамі Trait1, Trait2 і Trait3. Хай у першым трэйце будзе метад method1, які вяртае 1, у другім трэйце - метад method2, які вяртае 2, а ў трэцім трэйце - метад method3, які вяртае 3. Хай усе гэтыя метады будуць прыватнымі.

Задание 2

Зрабіце клас Test, які выкарыстоўвае ўсе тры створаных намі трэйты. Зрабіце ў гэтым класе публічны метад getSum, які вяртае суму вынікаў метадаў падключаных трэйтаў.