PHP OOP တွင် Traits ၏ Abstract Methods များ

Traits များတွင် အချို့ method များကို abstract အဖြစ် ကြေညာနိုင်ပါသည်။ ဤကိစ္စတွင် ၎င်း trait ကို အသုံးပြုသော class သည် အဆိုပါ method ကို implement လုပ်ရန် တာဝန်ရှိပါသည်။ Traits ၏ abstract methods များသည် private မဖြစ်နိုင်ပါ။

ဥပမာတစ်ခုကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင် အောက်ပါ trait ရှိသည်ဆိုပါစို့။

TestTrait.php<?php
  trait TestTrait
  {
    public function method1()
    {
      return 1;
    }
    
    abstract public function method2();
  }
?>

ကျွန်ုပ်တို့၏ trait ကို Test class မှ အသုံးပြုသည်ဆိုပါစို့။ Trait အတွင်းရှိ abstract method ၏ ရှိနေခြင်းသည် programmer အား class ထဲတွင် ၎င်းကို implement လုပ်ရန် တာဝန်ချမှတ်ပြီး၊ မဟုတ်ပါက PHP error တက်ပါလိမ့်မည်။

method2 method နှင့်အတူ Test class ကို ပြုလုပ်ကြည့်ရအောင်။

Test.php<?php
  class Test
  {
    use TestTrait; // trait ကိုအသုံးပြုခြင်း
    
    // Abstract method ကို implement လုပ်ခြင်း:
    public function method2()
    {
      return 2;
    }
  }
  
  new Test;
?>
Задание 1

ကျွန်ုပ်၏ trait TestTrait နှင့် class Test ကုဒ်များကို ကူးယူပါ။ Class ထဲမှ method2 method ကို ဖျက်ပါ။ ၎င်း၏ implementation မရှိခြင်းသည် PHP error ကို ဖြစ်ပေါ်စေကြောင်း သေချာပါစေ။