# What is Polymorphism 這個多態看中文確實有點費解,多態的英文是Polymorphism,它的翻譯含義是: n. 多態性 (可以看出是比較寬泛的) n. 多型現象 從翻譯也看不出啥, 我舉一個生活中的例子來引入多態: 生活中有很多常見的物體具有多態性。例如,一張紙可以用來寫字、 ...
What is Polymorphism
這個多態看中文確實有點費解,多態的英文是Polymorphism,它的翻譯含義是:
n. 多態性 (可以看出是比較寬泛的)
n. 多型現象
從翻譯也看不出啥, 我舉一個生活中的例子來引入多態:
生活中有很多常見的物體具有多態性。例如,一張紙可以用來寫字、畫畫,也可以用來包裹東西,還可以折成紙飛機等,
紙
你可以抽取出來,當成一個最基本的物質原料
,
紙
在學習場景
下,需要變成學習材料,用來寫字;紙
在實用場景
下,需要變成工具材料,用來包裹東西;紙
在娛樂場景
下,需要變成學習材料,用來當成娛樂工具;
看完紙的案例,相信你能有啟發。
Definde
Polymorphism refers to the ability to exhibit different behaviors within the same type of object.
多態是指在同一類型的對象中,可以有不同的行為。
Simple Demo
- 定義了一個 Animal 類,它有一個 eat() 方法;
public class Animal {
public void eat() {
System.out.println("Animal eats");
}
}
- 定義了兩個子類 Dog 和 Cat,它們都繼承自 Animal 類.
// sub-1
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("Dog eats");
}
}
//sub-2
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("Cat eats");
}
}
- 創建一個 Animal 類型的對象,並將它賦值給一個 Dog 類型的變數;
Animal animal = new Dog();
animal.eat(); // Print: "Dog eats
總結:
這是一個經典的多態的例子,因為我們可以使用 Animal 類型的對象調用 Dog 類的 eat() 方法。
多態在 Java 中非常常見,它可以幫助我們提高代碼的靈活性和可維護性。