Použitie traitov v traitoch

Traity, podobne ako triedy, môžu tiež používať iné traity. Pozrime sa na príklad. Predpokladajme, že máme takýto trait s dvoma metódami:

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

Predpokladajme, že máme aj ďalší trait:

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

Pripojme k traitu Trait2 trait Trait1:

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // používame prvý trait
    
    private function method3()
    {
      return 3;
    }
  }
?>

Po takomto pripojení bude mať Trait2 okrem svojich metód aj metódy trait-u Trait1. Overme to: vytvorme triedu Test, pripojme k nej trait Trait2 a presvedčme sa, že v našej triede sa objavia metódy ako prvého trait-u, tak aj druhého:

Test.php<?php
  class Test
  {
    use Trait2; // pripájame druhý trait
    
    public function __construct()
    {
      echo $this->method1(); // metóda prvého trait-u
      echo $this->method2(); // metóda prvého trait-u
      echo $this->method3(); // metóda druhého trait-u
    }
  }
?>
Задание 1

Samostatne vytvorte rovnaké traity, ako mám ja a pripojte ich k triede Test. Vytvorte v tejto triede metódu getSum, ktorá vráti súčet výsledkov metód pripojených trait-ov.