Trait များအတွင်း Trait များအသုံးပြုခြင်း

Trait များသည် class များနှင့်ဆင်တူစွာ အခြား Trait များကို အသုံးပြုနိုင်ပါသည်။ ဥပမာတစ်ခုဖြင့် ကြည့်ရှုကြပါစို့။ ကျွန်ုပ်တို့၌ method နှစ်ခုပါသော Trait တစ်ခုရှိသည်ဆိုပါစို့။

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

နောက်ထပ် Trait တစ်ခုလည်းရှိသည်ဆိုပါစို့။

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

ယခု Trait2 အတွင်း Trait1 ကို ချိတ်ဆက်ကြည့်ပါမည်။

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // ပထမဆုံး trait ကိုအသုံးပြုခြင်း
    
    private function method3()
    {
      return 3;
    }
  }
?>

ဤသို့ချိတ်ဆက်ပြီးနောက် Trait2 သည် ၎င်း၏ကိုယ်ပိုင် method များအပြင် Trait1 ၏ method များကိုပါ ပိုင်ဆိုင်သွားမည်ဖြစ်သည်။ ထိုအချက်ကို စစ်ဆေးကြည့်ကြပါစို့။ Test class တစ်ခုဖန်တီးပြီး ၎င်းအတွင်း Trait2 ကို ချိတ်ဆက်ကာ ကျွန်ုပ်တို့၏ class ထဲတွင် Trait နှစ်ခုစလုံး၏ method များ ပေါ်လာမည်ကို သေချာစေပါမည်။

Test.php<?php
  class Test
  {
    use Trait2; // ဒုတိယ trait ကိုချိတ်ဆက်ခြင်း
    
    public function __construct()
    {
      echo $this->method1(); // ပထမ trait ၏ method
      echo $this->method2(); // ပထမ trait ၏ method
      echo $this->method3(); // ဒုတိယ trait ၏ method
    }
  }
?>
Задание 1

ကျွန်ုပ်၏ Trait များနှင့်တူညီသော Trait များကို ကိုယ်တိုင်ဖန်တီးပြီး Test class ထဲသို့ ချိတ်ဆက်ပါ။ ထို class ထဲတွင် ချိတ်ဆက်ထားသော Trait များ၏ method များ၏ ရလဒ်များ ပေါင်းလဒ်ကို ပြန်ပေးသော getSum method တစ်ခုကို ဖန်တီးပါ။