Több trait az OOP-ban PHP-ben

Egy osztályban nem csak egy, hanem több trait is használható. Ebben mutatkozik meg az előnyük az örökléssel szemben. Az osztályban használni kívánt trait-eket vesszővel elválasztva adhatjuk meg a use kulcsszó után.

Nézzük ezt egy példán. Tegyük fel, hogy van két trait-ünk. Az első:

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

A második:

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

Használjuk trait-jeinket az osztályban:

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

Készítsen 3 trait-et Trait1, Trait2 és Trait3 elnevezéssel. Legyen az első trait-ben egy method1 metódus, amely 1-et ad vissza, a második trait-ben - egy method2 metódus, amely 2-t ad vissza, a harmadik trait-ben pedig - egy method3 metódus, amely 3-at ad vissza. Legyenek ezek a metódusok privátok.

Задание 2

Készítsen egy Test osztályt, amely mind a három általunk létrehozott trait-et használja. Készítsen ebben az osztályban egy getSum publikus metódust, amely a csatlakoztatott trait-ek metódusainak eredményeinek összegét adja vissza.