Uporaba traitov v traitih

Traiti, podobno kot razredi, lahko uporabljajo tudi druge traite. Poglejmo si na primeru. Recimo, da imamo takšen trait z dvema metodama:

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

Recimo, da imamo še en trait:

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

Povežimo trait Trait1 traitu Trait2:

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

Po takšni povezavi bo Trait2 poleg lastnih metod imel tudi metode traita Trait1. Preverimo: naredimo razred Test, povežimo z njim trait Trait2 in se prepričajmo, da se bodo v našem razredu pojavile metode prvega traita in drugega:

Test.php<?php
  class Test
  {
    use Trait2; // povežemo drugi trait
    
    public function __construct()
    {
      echo $this->method1(); // metoda prvega traita
      echo $this->method2(); // metoda prvega traita
      echo $this->method3(); // metoda drugega traita
    }
  }
?>
Задание 1

Samostojno naredite enake traite, kot jih imam jaz in jih povežite z razredom Test. Naredite v tem razredu metodo getSum, ki vrne vsoto rezultatov metod povezanih traitov.