Utilisation des traits dans les traits

Les traits, comme les classes, peuvent également utiliser d'autres traits. Regardons un exemple. Supposons que nous ayons le trait suivant avec deux méthodes :

Trait1.php<?php
  trait Trait1
  {
    private function method1()
    {
      return 1;
    }
    
    private function method2()
    {
      return 2;
    }
  }
?>

Supposons que nous ayons également un autre trait :

Trait2.php<?php
  trait Trait2
  {
    private function method3()
    {
      return 3;
    }
  }
?>

Connectons le trait Trait1 au trait Trait2 :

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // utilisons le premier trait
    
    private function method3()
    {
      return 3;
    }
  }
?>

Après une telle connexion, il s'avérera que Trait2 aura, en plus de ses propres méthodes, également les méthodes du trait Trait1. Vérifions cela : créons une classe Test, connectons-y le trait Trait2 et assurons-nous que dans notre classe apparaîtront les méthodes du premier trait ainsi que du deuxième :

Test.php<?php
  class Test
  {
    use Trait2; // connectons le deuxième trait
    
    public function __construct()
    {
      echo $this->method1(); // méthode du premier trait
      echo $this->method2(); // méthode du premier trait
      echo $this->method3(); // méthode du deuxième trait
    }
  }
?>
Задание 1

Créez vous-même les mêmes traits que les miens et connectez-les à la classe Test. Créez dans cette classe la méthode getSum, retournant la somme des résultats des méthodes des traits connectés.