トレイト内でのトレイトの使用

トレイトは、クラスと同様に、他のトレイトを使用することもできます。 例を見てみましょう。 次のような2つのメソッドを持つトレイトがあるとします:

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

さらに、別のトレイトがあるとします:

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

トレイト Trait2 に トレイト Trait1 を接続してみましょう:

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // 最初のトレイトを使用

    private function method3()
    {
      return 3;
    }
  }
?>

この接続の後、Trait2 は 自身のメソッドに加えて、トレイト Trait1 のメソッドも持つことになります。 これを確認しましょう:Test クラスを作成し、 そこにトレイト Trait2 を接続して、 私たちのクラスに最初のトレイトと2番目のトレイトの メソッドの両方が現れることを確認します:

Test.php<?php
  class Test
  {
    use Trait2; // 2番目のトレイトを接続

    public function __construct()
    {
      echo $this->method1(); // 最初のトレイトのメソッド
      echo $this->method2(); // 最初のトレイトのメソッド
      echo $this->method3(); // 2番目のトレイトのメソッド
    }
  }
?>
Задание 1

私と同じトレイトを自分で作成し、 それらを Test クラスに接続してください。 このクラスに、接続されたトレイトのメソッドの結果の 合計を返す getSum メソッドを作成してください。