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. Бірінші трейтте 1 қайтаратын method1 әдісі болсын, екінші трейтте - 2 қайтаратын method2 әдісі, ал үшінші трейтте - 3 қайтаратын method3 әдісі болсын. Бұл әдістердің барлығы жеке (private) болсын.

Задание 2

Test сыныбын жасаңыз, ол біздің жасаған үш трейтімізді де қолданады. Осы сыныпта getSum деген ашық әдіс жасаңыз, ол қосылған трейттердің әдістерінің нәтижелерінің қосындысын қайтарады.