Penggunaan Trait dalam Trait

Trait, mirip seperti kelas, juga dapat menggunakan trait lainnya. Mari kita lihat contohnya. Misalkan kita memiliki trait seperti berikut dengan dua metode:

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

Misalkan kita juga memiliki trait lain:

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

Mari kita hubungkan trait Trait1 ke trait Trait2:

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

Setelah koneksi seperti itu, hasilnya adalah Trait2 selain metodenya sendiri juga akan memiliki metode trait Trait1. Mari kita verifikasi ini: buatlah kelas Test, hubungkan trait Trait2 ke dalamnya dan pastikan bahwa di kelas kita akan muncul metode dari trait pertama, maupun trait kedua:

Test.php<?php
  class Test
  {
    use Trait2; // menghubungkan trait kedua
    
    public function __construct()
    {
      echo $this->method1(); // metode trait pertama
      echo $this->method2(); // metode trait pertama
      echo $this->method3(); // metode trait kedua
    }
  }
?>
Задание 1

Buat sendiri trait yang sama seperti milik saya, dan hubungkan ke kelas Test. Buat di kelas ini metode getSum, yang mengembalikan jumlah hasil metode dari trait yang terhubung.