Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Polymorphism

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

Polymorphism ဆိုတာ “ပုံစံများစွာ” ဆိုတဲ့အဓိပ္ပါယ်ပါ။ Parent type တစ်ခုကိုအသုံးပြုပေမယ့် actual object အမျိုးအစားပေါ်မူတည်ပြီး method behavior မတူနိုင်ခြင်းဖြစ်ပါတယ်။ Java OOP မှာ method overriding နဲ့တွေ့ရများပါတယ်။

java
class Animal {
  public void makeSound() {
    System.out.println("The animal makes a sound");
  }
}

class Dog extends Animal {
  public void makeSound() {
    System.out.println("Dog says: Woof!");
  }
}

class Cat extends Animal {
  public void makeSound() {
    System.out.println("Cat says: Meow!");
  }
}

public class Main {
  public static void main(String[] args) {
    Animal animal1 = new Dog();
    Animal animal2 = new Cat();

    animal1.makeSound();
    animal2.makeSound();
  }
}

Variable type က Animal ဖြစ်ပေမယ့် actual object က Dog နဲ့ Cat ဖြစ်ပါတယ်။ Method ခေါ်တဲ့အခါ object အမျိုးအစားပေါ်မူတည်ပြီး overridden method ကို run ပါတယ်။

You should see
Dog says: Woof! Cat says: Meow!

လက်တွေ့အသုံးချမှု

Payment gateway မျိုးစုံ, notification channel မျိုးစုံ, export format မျိုးစုံကို common interface/method နဲ့ handle လုပ်ရာမှာ polymorphism ကအလွန်အသုံးဝင်ပါတယ်။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Overloading နဲ့ overriding ကိုမရောပါနဲ့။ Overloading က parameter ကွာတာ၊ overriding က parent method ကို child class မှာ behavior ပြောင်းတာပါ။
Polymorphism | Thuta Learning