Flere træk i OOP i PHP

I en klasse kan du bruge ikke et, men flere træk. Det er her deres fordel kommer til udtryk frem for arv. De træk, der skal bruges i klassen, kan angives adskilt af komma eft nøgleordet use.

Lad os se på et eksempel. Antag, at vi har to træk. Den første:

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

Den anden:

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

Lad os bruge vores træk i klassen:

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

Lav 3 træk med navnene Trait1, Trait2 og Trait3. Lad i den første træk være en metode method1, der returnerer 1, i den anden træk - en metode method2, der returnerer 2, og i den tredje træk - en metode method3, der returnerer 3. Lad alle disse metoder være private.

Задание 2

Lav en klasse Test, der bruger alle tre af vores oprettede træk. Lav i denne klasse en offentlig metode getSum, der returnerer summen af resultaterne af metoderne fra de tilsluttede træk.