Brug af træk i træk

Træk, ligesom klasser, kan også bruge andre træk. Lad os se på et eksempel. Lad os sige, at vi har følgende træk med to metoder:

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

Lad os sige, at vi også har endnu et træk:

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

Lad os tilknytte trækket Trait1 til trækket Trait2:

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // bruger det første træk
    
    private function method3()
    {
      return 3;
    }
  }
?>

Efter en sådan tilknytning vil det resultere i, at Trait2 foruden sine egne metoder også vil have metoderne fra trækket Trait1. Lad os kontrollere dette: lad os lave en klasse Test, tilknytte trækket Trait2 til den og sikre os, at vores klasse får både metoder fra det første træk og det andet:

Test.php<?php
  class Test
  {
    use Trait2; // tilslutter det andet træk
    
    public function __construct()
    {
      echo $this->method1(); // metode fra det første træk
      echo $this->method2(); // metode fra det første træk
      echo $this->method3(); // metode fra det andet træk
    }
  }
?>
Задание 1

Lav selv de samme træk, som jeg har, og tilslut dem til klassen Test. Lav en metode getSum i denne klasse, som returnerer summen af resultaterne af metoderne fra de tilsluttede træk.