Մի քանի տրեյթներ OOP-ում 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 մեթոդ, որը վերադարձնում է միացված տրեյթների մեթոդների արդյունքների գումարը: