Java 多型性
Java 多型性
多型性意為“多種形式”,它發生在我們有許多透過繼承相互關聯的類時。
正如我們在上一章中所述;繼承允許我們從另一個類繼承屬性和方法。多型性使用這些方法來執行不同的任務。這使我們能夠以不同的方式執行單一操作。
例如,設想一個名為 Animal
的超類,它有一個名為 animalSound()
的方法。Animal 的子類可以是 Pig、Cat、Dog、Bird——它們也有自己對動物聲音的實現(豬哼哼叫,貓喵喵叫等等)。
示例
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
回想一下繼承章節,我們使用 extends
關鍵字從一個類繼承。
現在我們可以建立 Pig
和 Dog
物件,並在這兩個物件上呼叫 animalSound()
方法
示例
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal(); // Create a Animal object
Animal myPig = new Pig(); // Create a Pig object
Animal myDog = new Dog(); // Create a Dog object
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
}
}
為什麼要使用“繼承”和“多型性”?以及何時使用?
- 這對於程式碼重用很有用:當您建立新類時,可以重用現有類的屬性和方法。