PHP да ООПда бир нечта трейтлар

Классда битта эмас, бир нечта трейтлардан фойдаланиш мумкин. Мана шу жойда уларнинг мерос олишдан юқорилик жиҳати намойон бўлади. Ишлатиш учун зарур бўлган трейтларни use калит сўзидан кейин vergul билан кўрсатиш мумкин.

Келгила, мисолда кўрамиз. Фарз қилайлик, бизда икки трейт мавжуд. Биринчиси:

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 методи бўлсин. Бу методларнинг ҳаммаси хусусий бўлсин.

Задание 2

Test классни яратинг, у биз яратган барча уч трейтдан фойдалансин. Ушбу классда getSum оммавий методини яратинг, у уланган трейтлар методлари натижалари йиғиндисини қайтарсин.