PHP OOP တွင် Traits ၏ Abstract Methods များ
Traits များတွင် အချို့ method များကို abstract အဖြစ် ကြေညာနိုင်ပါသည်။ ဤကိစ္စတွင် ၎င်း trait ကို အသုံးပြုသော class သည် အဆိုပါ method ကို implement လုပ်ရန် တာဝန်ရှိပါသည်။ Traits ၏ abstract methods များသည် private မဖြစ်နိုင်ပါ။
ဥပမာတစ်ခုကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင် အောက်ပါ trait ရှိသည်ဆိုပါစို့။
<?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 ကို ပြုလုပ်ကြည့်ရအောင်။
<?php
class Test
{
use TestTrait; // trait ကိုအသုံးပြုခြင်း
// Abstract method ကို implement လုပ်ခြင်း:
public function method2()
{
return 2;
}
}
new Test;
?>
ကျွန်ုပ်၏ trait TestTrait နှင့် class Test ကုဒ်များကို ကူးယူပါ။
Class ထဲမှ method2 method ကို ဖျက်ပါ။ ၎င်း၏ implementation မရှိခြင်းသည်
PHP error ကို ဖြစ်ပေါ်စေကြောင်း သေချာပါစေ။