Keli trait'ai OOP PHP

Klasėje galima naudoti ne vieną, o kelis trait'us. Tai ir atskleidžia jų pranašumą paveldėjimo atžvilgiu. Reikalingus naudojimui klasėje trait'us galima nurodyti per kablelį po raktažodžio use.

Pažiūrėkime pavyzdžiu. Tarkime, kad turime du trait'us. Pirmasis:

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

Antrasis:

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

Naudokime mūsų trait'us klasėje:

User.php<?php
  class User
  {
    use Helper1, Helper2; // prijungiame trait'us
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

Sukurkite 3 trait'us su pavadinimais Trait1, Trait2 ir Trait3. Tegul pirmame trait'e būna metodas method1, grąžinantis 1, antrame trait'e - metodas method2, grąžinantis 2, o trečiame trait'e - metodas method3, grąžinantis 3. Tegul visi šie metodai būna privatūs.

Задание 2

Sukurkite klasę Test, naudojančią visus tris mūsų sukurtus trait'us. Sukurkite šioje klasėje viešą metodą getSum, grąžinantį prijungtų trait'ų metodų rezultatų sumą.