JAVA筆記 多型的意義(向上轉型與向下轉型)

2021-07-14 07:38:33 字數 919 閱讀 1572

多型是物件導向的重要特性,簡單點說:「乙個介面,多種實現」,就是同一種事物表現出的多種形態。

程式設計其實就是乙個將具體世界進行抽象化的過程,多型就是抽象化的一種體現,把一系列具體事物的共同點抽象出來, 再通過這個抽象的事物, 與不同的具體事物進行對話。 

對不同類的物件發出相同的訊息將會有不同的行為。比如,你的老闆讓所有員工在九點鐘開始工作, 他只要在九點鐘的時候說:「開始工作」即可,而不需要對銷售人員說:「開始銷售工作」,對技術人員說:「開始技術工作」, 因為「員工」是乙個抽象的事物, 只要是員工就可以開始工作,他知道這一點就行了。至於每個員工,當然會各司其職,做各自的工作。

多型允許將子類的物件當作父類的物件使用,某父型別的引用指向其子型別的物件,呼叫的方法是該子型別的方法。這裡引用和呼叫方法的**編譯前就已經決定了,而引用所指向的物件可以在執行期間動態繫結。再舉個比較形象的例子:

比如有乙個函式是叫某個人來吃飯,函式要求傳遞的引數是人的物件,可是來了乙個美國人,你看到的可能是用刀和叉子在吃飯,而來了乙個中國人你看到的可能是用筷子在吃飯,這就體現出了同樣是乙個方法,可以卻產生了不同的形態,這就是多型!

多型的作用:

1. 應用程式不必為每乙個派生類編寫功能呼叫,只需要對抽象基類進行處理即可。大大提高程式的可復用性。//繼承

2. 派生類的功能可以被基類的方法或引用變數所呼叫,這叫向後相容,可以提高可擴充性和可維護性。 //多型的真正作用,以前需要用switch實現

package day14;

public class demo01 }}

class koo extends super

class foo extends super implements free

}class super

}inte***ce free

Java 多型(向上轉型)

先來看一段 class baseclass public void test public class subclass extends baseclass public void sub public static void main string args 說明 當把乙個子類物件直接賦給父類的引...

java中向上轉型的意義

首先了解多型 父類 public class father 子類1 public class son1 extends father 子類2 public class son2 extends father 子類3 public class son3 extends father 測試類 publi...

Java 多型部分 向上轉型 向下轉型

我記得我剛學的時候,老師講的我似懂非懂,於是我就上網上查,我查到了乙個是這麼說的,向上轉型就是兒子當爹用,向下轉型就是爹當兒子用,我當時覺得有道理,但是後來我發現,兒子是兒子,爹是爹,上面說的完全都不對!於是我就開始琢磨,能不能聯絡實際點,這樣也好幫我自己分析理解 就在這時,隔壁寢室來叫我打球,我豁...