C++ Polymorphism
Polymorphism
Polymorphism ဆိုသည်မှာ "များစွာသောပုံစံများ" ကိုဆိုလိုပြီး ကျွန်ုပ်တို့တွင် တစ်ခုနှင့်တစ်ခု အမွေဆက်နွယ်နေသော အတန်းများစွာရှိသောအခါ ဖြစ်ပေါ်ပါသည်။
ယခင်အခန်းတွင်ကျွန်ုပ်တို့ဖော်ပြထားသကဲ့သို့; Inheritance သည် ကျွန်ုပ်တို့အား အခြားအတန်းများမှ အရည်အချင်းများနှင့် နည်းလမ်းများကို အမွေပေးပါသည်။ Polymorphism သည် မတူညီသော အလုပ်များကို လုပ်ဆောင်ရန် ထိုနည်းလမ်းများကို အသုံးပြုသည်။ ၎င်းသည် ကျွန်ုပ်တို့အား လုပ်ဆောင်ချက်တစ်ခုတည်းကို မတူညီသောနည်းလမ်းများဖြင့် လုပ်ဆောင်နိုင်စေပါသည်။
ဥပမာအားဖြင့်၊ Animal
ခေါ်တဲ့ method လို့ခေါ်တဲ့ အခြေခံလူတန်းစားကို စဉ်းစားကြည့်ပါ animalSound()
။ တိရစ္ဆာန်များ၏ ဆင်းသက်လာသော အတန်းအစားများမှာ ဝက်များ၊ ကြောင်များ၊ ခွေးများ၊ ငှက်များ ဖြစ်နိုင်သည် - ထို့အပြင် ၎င်းတို့တွင် တိရစ္ဆာန်အသံ (ဝက်အမဲသား၊ ကြောင်မွေစသည်) တို့လည်းရှိသည်။
ဥပမာ
// Base class
class Animal {
public:
void
animalSound() {
cout << "The animal makes a sound \n"
;
}
};
// Derived class
class Pig : public Animal {
public:
void
animalSound() {
cout << "The pig says: wee wee \n" ;
}
};
// Derived class
class Dog
: public Animal {
public:
void animalSound()
{
cout << "The dog says: bow wow \n" ;
}
};
အတန်းတစ်ခုမှ အမွေဆက်ခံရန် သင်္ကေတကို ကျွန်ုပ်တို့ အသုံးပြုသည့် အမွေဆက်ခံခြင်းအခန်းမှ သတိရပါ ။:
ယခု ကျွန်ုပ်တို့သည် ဖန်တီးပြီး အရာဝတ္ထုနှင့် Pig
နည်းလမ်းကို အစားထိုးနိုင်သည်-
Dog
animalSound()
ဥပမာ
// Base class
class Animal {
public:
void
animalSound() {
cout << "The animal makes a sound \n"
;
}
};
// Derived class
class Pig : public Animal {
public:
void
animalSound() {
cout << "The pig says: wee wee \n" ;
}
};
// Derived class
class Dog
: public Animal {
public:
void animalSound()
{
cout << "The dog says: bow wow \n" ;
}
};
int main() {
Animal
myAnimal;
Pig myPig;
Dog myDog;
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
return 0;
}
"အမွေဆက်ခံခြင်း" နှင့် "Polymorphism" ကိုအဘယ်ကြောင့်အသုံးပြုရမည်နည်း။
- ကုဒ်ပြန်သုံးနိုင်မှုအတွက် အသုံးဝင်သည်- သင်အတန်းသစ်တစ်ခုဖန်တီးသောအခါ ရှိပြီးသား class တစ်ခု၏ အရည်အချင်းများနှင့် နည်းလမ်းများကို ပြန်လည်အသုံးပြုပါ။