Πολλαπλά Traits στη PHP OOP

Σε μια κλάση μπορούν να χρησιμοποιηθούν όχι ένα, αλλά πολλά traits. Αυτό είναι και το πλεονέκτημά τους σε σχέση με την κληρονομικότητα. Τα traits που απαιτούνται για χρήση στην κλάση μπορούν να καθοριστούν διαχωρισμένα με κόμμα μετά τη λέξη-κλειδί use.

Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε δύο traits. Το πρώτο:

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;
    }
  }
?>

Ας χρησιμοποιήσουμε τα traits μας στην κλάση:

User.php<?php
  class User
  {
    use Helper1, Helper2; // συνδέουμε τα traits
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

Δημιουργήστε 3 traits με ονόματα Trait1, Trait2 και Trait3. Ας έχει το πρώτο trait τη μέθοδο method1, που επιστρέφει 1, στο δεύτερο trait - τη μέθοδο method2, που επιστρέφει 2, και στο τρίτο trait - τη μέθοδο method3, που επιστρέφει 3. Ας είναι όλες αυτές οι μέθοδοι ιδιωτικές.

Задание 2

Δημιουργήστε την κλάση Test, που χρησιμοποιεί και τα τρία traits που δημιουργήσαμε. Δημιουργήστε σε αυτήν την κλάση μια δημόσια μέθοδο getSum, που επιστρέφει το άθροισμα των αποτελεσμάτων των μεθόδων των συνδεδεμένων traits.