<aside> 📘
多型是物件導向程式設計的核心概念之一,允許同一方法在不同的物件上表現出不同的行為。透過方法覆寫(Override)與介面實作(Interface Implementation),多型實現了靈活性與可擴展性,廣泛應用於實際開發中,例如統一處理不同類型的物件或實現彈性架構。
</aside>
多型(Polymorphism)意指「多種形態」,讓同一方法在不同的物件上表現出不同的行為。它有助於程式的可擴展性與靈活性。
請編寫一個父類別 Animal
,其中有一個方法 makeSound
。再建立兩個子類別 Dog
與 Cat
,覆寫父類別的方法以表現不同的聲音。
最後,創建一個方法接收 Animal
類型參數,並呼叫其 makeSound
方法,觀察多型的行為。
public class Main {
public static void main(String[] args) {
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.makeSound(); // Output: Dog barks
myCat.makeSound(); // Output: Cat meows
}
}
class Animal {
void makeSound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Dog barks");
}
}
class Cat extends Animal {
@Override
void makeSound() {
System.out.println("Cat meows");
}
}