Object-Orient-Oriented Programming တွင် polymorphism သည်မတူညီသောပတ်ဝန်းကျင်တွင်ကွဲပြားခြားနားစွာပြုမူရန်အရာဝတ်ထုများကိုပြုလုပ်နိုင်သည့်အဓိကအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ PHP သည် polymorphism ကိုအမွေဆက်ခံခြင်းနှင့် interface ကိုထောက်ပံ့သည်, ဤအချိန်တွင် static binding သည်ထိရောက်သောဖြေရှင်းချက်တစ်ခုဖြစ်လာသည်။
static binding သည် PHP မှ PHP မှပေးသောယန္တရားတစ်ခုဖြစ်ပြီး Runtime တွင်အတန်း၏အမှန်တကယ်အောက်ပါအတိုင်း static method များကိုခေါ်ဆိုရန်ယန္တရားတစ်ခုဖြစ်သည်။ ကိုယ့်ကိုယ်ကိုမတူဘဲ :: Static :: သော့ချက်စာလုံးကိုအသုံးပြုသောအခါ, ခေါ်ဆိုမှုကိုလက်ရှိသတ်မှတ်ထားသောအတန်းအစားမဟုတ်ဘဲနောက်ဆုံးခေါ်ဆိုမှုကိုအဆင့်အတန်းဟုခေါ်သည်။ ဤယန္တရားသည်စစ်မှန်သော polymorphisphism ကိုအမွေဆက်ခံခြင်းဖြင့်စစ်မှန်သော polymorphism ရရှိရန်အလွန်အရေးကြီးသည်။
ကျွန်ုပ်တို့တွင်အခြေစိုက်စခန်းအတန်းအစားတိရိစ္ဆာန်ရှိသည်ဟုမြင်ယောင်ကြည့်ပါ။ 0 င်လာသည့်အတန်းအမျိုးအစားအရမှန်ကန်သောစကားပြောနည်းလမ်းကိုမှန်ကန်သောစကားပြောနည်းလမ်းကိုမှန်ကန်စွာခေါ်ဆိုရန်စည်းလုံးညီညွတ်သော function ကိုအသုံးပြုရန်ကျွန်ုပ်တို့မျှော်လင့်ပါသည်။ ဤအချက်မှာသင်သည်ဤအပြုအမူအောင်မြင်ရန်နောက်ကျသောစည်းနှောင်ခြင်းကိုသုံးနိုင်သည်။
class Animal {
public static function speak() {
echo "Animal is speaking.";
}
}
class Cat extends Animal {
public static function speak() {
echo "Cat is meowing.";
}
}
class Dog extends Animal {
public static function speak() {
echo "Dog is barking.";
}
}
function makeAnimalSpeak($animal) {
$animal::speak();
}
makeAnimalSpeak(new Cat()); // ထုတ်လုပ်ခြင်း:Cat is meowing.
makeAnimalSpeak(new Dog()); // ထုတ်လုပ်ခြင်း:Dog is barking.
အထက်ပါကုဒ်တွင် MakeanMaldalSpeak function သည်အတန်း၏ဥပမာတစ်ခုဖြစ်ပြီး၎င်း၏ငြိမ်သက်သောနည်းလမ်းကိုခေါ်ဆိုသည်။ static keyword မှတစ်ဆင့် method this stopic keyword မှတစ်ဆင့် Subclass တွင် overriddised method ကိုနောက်ဆုံးတွင်အခြေစိုက်စခန်းတွင်ပုံမှန်အကောင်အထည်ဖော်မှုထက်နောက်ဆုံးတွင်ကွပ်မျက်သည်။ ၎င်းသည် Runtime တွင် polymorphic အပြုအမူကိုအကောင်အထည်ဖော်သည်။
မိမိကိုယ်ကိုနှင့်အတူနည်းလမ်းတစ်ခုကိုခေါ်ဆိုသည့်အခါ, static :: အမှန်တကယ်ခေါ်ခဲ့သည့်အတန်းသို့ခညျြနှောငျလိမ့်မည်။ ထို့ကြောင့်, သင်အမွေဥစ်စာဖွဲ့စည်းပုံတွင်, သက်ဆိုင်ရာနည်းဥပဒေများကိုသတ်သတ်မှတ်မှတ် subclass အညီအကောင်အထည်ဖော်လိုပါက static :: static binding ၏အဓိကအဓိပ္ပာယ်ကိုအသုံးပြုသင့်သည်။
PHP တွင်နောက်ကျသော static binding သည် developer များကို Runtime Polmorphism ပြ problems နာများကိုကိုင်တွယ်ဖြေရှင်းရန်လှပသောနည်းလမ်းဖြင့်ပေးသည်။ static :: သော့ချက်စာလုံးမှတစ်ဆင့်ကျွန်ုပ်တို့သည်အမွေပေးစနစ်တွင်ယုတ္တိဗေဒခေါ်ဆိုမှုခေါ်ဆိုမှုကိုပြောင်းလွယ်ပြင်လွယ်။ အားကောင်းသောတက်ကြွသောနည်းလမ်းကိုအကောင်အထည်ဖော်နိုင်သည်။ ၎င်းသည် Code ကိုပြန်လည်သုံးသပ်ခြင်းကိုတိုးတက်စေသည်သာမကအချို့သောစီးပွားရေးလုပ်ငန်းများအတွက်အရာဝတ်ထု ဦး တည်ပရိုဂရမ်းမင်းကိုပိုမိုသင့်တော်သည်။