PHPのOOPにおける複数のトレイト

クラスでは、1つではなく複数の トレイトを使用することができます。 これが、継承に対するトレイトの利点の 現れです。クラスで使用したい トレイトは、キーワード use の後に カンマで区切って指定できます。

例を見てみましょう。 2つのトレイトがあるとします。 1つ目:

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

2つ目:

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

クラスでこれらのトレイトを使用します:

User.php<?php
  class User
  {
    use Helper1, Helper2; // トレイトを接続
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

3 つのトレイトを作成し、それぞれ Trait1、Trait2、 Trait3 という名前にします。 最初のトレイトには 1 を返す メソッド method1 を、 2番目のトレイトには 2 を返す メソッド method2 を、 3番目のトレイトには 3 を返す メソッド method3 を実装してください。 これらのメソッドはすべてプライベートとします。

Задание 2

Test というクラスを作成し、 これら3つのトレイトをすべて使用してください。 このクラスに、接続したトレイトのメソッドの結果の 合計を返すパブリックメソッド getSum を実装してください。