ට්‍රෙට් වල ට්‍රෙට් භාවිතය

ට්‍රෙට්, පන්ති වලට සමානව, අනෙකුත් ට්‍රෙට් භාවිතා කළ හැකිය. අපි උදාහරණයක් බලමු. අප සතුව ක්‍රම දෙකක් සහිත මේ වගේ ට්‍රෙට් එකක් ඇතැයි සිතමු:

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

අප සතුව තවත් ට්‍රෙට් එකක් ඇතැයි සිතමු:

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

ට්‍රෙට් Trait2 වෙත ට්‍රෙට් Trait1 සම්බන්ධ කරමු:

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // පළමු ට්‍රෙට් එක භාවිතා කරමු
    
    private function method3()
    {
      return 3;
    }
  }
?>

මෙම සම්බන්ධතාවයෙන් පසුව, Trait2 සතුව එහිම ක්‍රම වලට අමතරව ට්‍රෙට් Trait1 හි ක්‍රමද තිබේ. අපි මෙය පරීක්ෂා කරමු: Test පන්තියක් සාදා, එයට ට්‍රෙට් Trait2 සම්බන්ධ කර, අපගේ පන්තියට පළමු ට්‍රෙට් එකේ සහ දෙවන ට්‍රෙට් එකේ ක්‍රම පැමිණීම නිසැක කර ගනිමු:

Test.php<?php
  class Test
  {
    use Trait2; // දෙවන ට්‍රෙට් එක සම්බන්ධ කරමු
    
    public function __construct()
    {
      echo $this->method1(); // පළමු ට්‍රෙට් එකේ ක්‍රමය
      echo $this->method2(); // පළමු ට්‍රෙට් එකේ ක්‍රමය
      echo $this->method3(); // දෙවන ට්‍රෙට් එකේ ක්‍රමය
    }
  }
?>
Задание 1

ස්වාධීනව මා සතුව ඇති ට්‍රෙට් වලට සමාන ට්‍රෙට් සාදා ඒවා Test පන්තියට සම්බන්ධ කරන්න. මෙම පන්තියේ සම්බන්ධ කරන ලද ට්‍රෙට් වල ක්‍රමවල ප්‍රතිඵල එකතුව ප්‍රතිදානය කරන getSum ක්‍රමයක් සාදන්න.