Utilização de Traits em Traits

Traits, assim como classes, também podem utilizar outras traits. Vamos ver um exemplo. Suponha que temos a seguinte trait com dois métodos:

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

Suponha que temos também outra trait:

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

Vamos conectar a trait Trait1 à trait Trait2:

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

Após essa conexão, resultará que Trait2 além de seus próprios métodos também terá os métodos da trait Trait1. Vamos verificar isso: vamos criar a classe Test, conectar a trait Trait2 a ela e confirmar que em nossa classe aparecerão métodos tanto da primeira trait, quanto da segunda:

Test.php<?php
  class Test
  {
    use Trait2; // conectando a segunda trait
    
    public function __construct()
    {
      echo $this->method1(); // método da primeira trait
      echo $this->method2(); // método da primeira trait
      echo $this->method3(); // método da segunda trait
    }
  }
?>
Задание 1

Faça você mesmo as mesmas traits, como as minhas e conecte-as à classe Test. Crie neste classe o método getSum, retornando a soma dos resultados dos métodos das traits conectadas.