PHP ၏ Object-Objected Programing (OOP) တွင်အမွေသည်အမွေအနှစ်တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP အတန်းများကိုအမွေဆက် သုံး. PHP သင်တန်းများကိုထိန်းသိမ်းရန်လွယ်ကူသော, ကောင်းစွာစနစ်တကျဖန်တီးရန်လွယ်ကူစွာဖန်တီးရန်နည်းလမ်းများကိုလမ်းညွှန်ရန်ကုဒ်နံပါတ်များစွာကိုအသုံးပြုလိမ့်မည်။
အမွေသည်များသောအားဖြင့်မိဘအတန်းအစား (အခြေခံလူတန်းစား) နှင့်တစ်ခုထက်ပိုသောခွဲခြမ်းစိတ်ဖြာခြင်းပါဝင်သည်။ မိဘအတန်းအစားသည်ဘုံဂုဏ်သတ္တိများနှင့်နည်းလမ်းများကိုသတ်မှတ်သည်။ ဒီနေရာမှာအခြေခံဥပမာတစ်ခုပါ။
class Animal {
protected $name;
public function eat() {
echo $this->name . " is eating.";
}
public function setName($name) {
$this->name = $name;
}
}
နောက် ခွေး လို့ခေါ်တဲ့ subclass တစ်ခုကိုဖန်တီးပြီး တိရိစ္ဆာန် အတန်းကိုတိုးချဲ့ပြီးနည်းလမ်းအသစ်တစ်ခုကိုထည့်ပါ။
class Dog extends Animal {
public function bark() {
echo $this->name . " is barking.";
}
}
အမွေအနှစ်၏အဓိကအားသာချက်မှာသင်သည်တူညီသောယုတ္တိဗေဒနှင့်အတူဘုံအတန်းများကိုဖန်တီးနိုင်ပြီးလိုအပ်ပါက၎င်းတို့ကိုတိုးချဲ့ရန်ဖြစ်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် တိရိစ္ဆာန် တွင်နည်းလမ်းသစ်တစ်ခုထည့်နိုင်သည်။
class Animal {
protected $name;
public function eat() {
echo $this->name . " is eating.";
}
public function sleep() {
echo $this->name . " is sleeping.";
}
public function setName($name) {
$this->name = $name;
}
}
ထို့နောက်မိဘအတန်းကိုအခြေခံသည့်တိရိစ္ဆာန်အမျိုးအစားများကိုသင်ဖန်တီးနိုင်သည်။
class Cat extends Animal {
public function meow() {
echo $this->name . " is meowing.";
}
}
subclass တစ်ခုစီသည်ဘုံကုဒ်များကိုယုတ္တိဗေဒကိုထပ်ခါတလဲလဲပြုလုပ်ရန်မလိုပဲ၎င်း၏ကိုယ်ပိုင်ထူးခြားသောနည်းလမ်းရှိသည်။
အချို့ဖြစ်ရပ်များတွင် "method override 'ကိုအသုံးပြုသောမိဘအတန်းအစားအချို့ကိုပြန်လည်ပြုပြင်ရန် Subclass သည်ခွဲစိတ်ကုသမှုအနည်းငယ်ကိုပြန်လည်ပြုပြင်ရန်လိုအပ်နိုင်သည်။ ဥပမာအားဖြင့်, ခွေးများသည်အခြားတိရိစ္ဆာန်များနှင့်ကွဲပြားခြားနားစွာစားကြသည်။
class Dog extends Animal {
public function eat() {
echo $this->name . " is eating loudly.";
}
public function bark() {
echo $this->name . " is barking.";
}
}
Method Overlay မှတဆင့်, ကွဲပြားခြားနားသောအရာဝတ်ထုများ၏ဝိသေသလက္ခဏာများအရကွဲပြားခြားနားသောအမူအကျင့်ယုတ္တိဗေဒကိုပေးနိုင်ပါသည်။
PHP သည်အဆင့်ပေါင်းစုံအမွေကိုထောက်ပံ့သည်, ဆိုလိုသည်မှာအတန်းတစ်ခုသည်မိဘအတန်းမှအမွေဆက်ခံခဲ့သောအခြားအတန်းအစားတစ်ခုကိုလည်းအမွေပေးနိုင်သည်။ ၎င်းသည်ကြီးမားသောအသုံးချပရိုဂရမ်များကိုလွယ်ကူချောမွေ့စေရန်ပိုမိုရှုပ်ထွေးသောလူတန်းစားအဆောက်အအုံများကိုခွင့်ပြုသည်။
class GermanShepherd extends Dog {
public function guard() {
echo $this->name . " is guarding the house.";
}
}
ဤအချိန်တွင် GermansHepherd လူတန်းစားသည် ခွေး ၏အပြုအမူကိုအမွေဆက်ခံရုံသာမက တိရိစ္ဆာန် မှအခြေခံလုပ်ဆောင်ချက်များလည်းရှိသည်။
အမွေဆက်ခံစဉ် PHP ပရိုဂရမ်မာများအနေဖြင့်ကုဒ်၏ပြုပြင်ပြောင်းလဲမှုများ, ပြန်လည်အသုံးပြုခြင်းနှင့်အဆင့်ဆင့်ကိုသဘောပေါက်နားလည်သဘောပေါက်ခြင်း, ၎င်းသည်ရိုးရှင်းသောလူတန်းစားစာကြည့်တိုက်တစ်ခုတည်ဆောက်ခြင်းသို့မဟုတ်ရှုပ်ထွေးသောစနစ်ဗိသုကာပုံစံကိုဒီဇိုင်းဆွဲခြင်းဖြစ်ဖြစ်, အမွေအနှစ်နှင့်နည်းလမ်းကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်သင်၏ကုဒ်ဖွဲ့စည်းပုံကိုရှင်းလင်းစွာထုတ်လွှင့်နိုင်ပြီးသင်၏လုပ်ဆောင်မှုများကိုတိုးချဲ့ရန်လွယ်ကူစေသည်။