多型的自我理解

2021-10-08 22:32:46 字數 2020 閱讀 8876

結論

/**

1. 描述筆記本,筆記本使用usb滑鼠,usb鍵盤

2. 定義usb介面,筆記本要使用usb裝置,即筆記本在生產時需要預留可以插入usb裝置的usb介面,即就是筆記本具備使

3. 用usb裝置的功能,但具體是什麼usb裝置,筆記本並不關心,只要符合usb規格的裝置都可以。

4. 滑鼠和鍵盤要能在電腦上使用,那麼滑鼠和鍵盤也必須遵守usb規範,不然滑鼠和鍵盤的生產出來無法使用。

*///定義滑鼠、鍵盤,筆記本三者之間應該遵守的規則

inte***ce

usb//滑鼠實現usb規則

class

mouse

implements

usbpublic

void

close()

}//鍵盤實現usb規則

class

keyboard

implements

usbpublic

void

close()

}// 定義筆記本

class

notebook

//筆記本使用usb裝置,這時當筆記本實體呼叫這個功能時,必須給其傳遞乙個符合usb規則的usb裝置

public

void

useusb

(usb usb)

}public

void

shutdown()

}public

class

test

}

多型的好處

提高了程式的擴充套件性

多型的弊端

通過了父類引用操作子類物件時,只能使用父類中已有的方法,不能操作子類特有的方法多型的前提

必須有繼承或者實現的關係

通常都有重寫操作

多型出現後會導致父類中的成員變數有微弱的變化

多型成員變數

子父類**現同名的成員變數的時候,多型呼叫該變數的時候,

編譯時期引用變數所屬的雷諾中是否有被呼叫的成員變數,沒有,編譯失敗

執行時期也是呼叫引用型變數所屬的類中的成員變數

所以這種情況的時候編譯和執行都是看的左邊

多型成員函式

classfu}

class

ziextendsfu}

class

demo

}

編譯時期引用變數所屬的類,當所屬類中沒有該呼叫的函式,編譯失敗。

執行時期引用變數所指的物件所屬的類,並執行物件所屬類中的成員函式。

編譯看左邊執行看右邊

多型靜態函式:

classfu}

class

ziextendsfu}

class

demo

}

編譯看左邊,執行看右邊

結論:

對於成員變數,編譯和執行都看左邊

對於成員函式和靜態函式,編譯看左邊,執行看右邊

多型的理解

1.對多型的理解 同乙個物件在不同時刻體現出來的不同狀態。簡單來說就是貓和狗都是動物,但他們又有許多不同,貓和狗是動物向下延伸的不同結果,這就是多型。2.多型的前提 a 有繼承或者實現關係。b 有方法重寫。c 有父類或者父介面引用指向子類物件。3.多型的分類 a 具體類多型 class fu cla...

多型的理解

1 同乙個物件在不同時刻體現出來的不同狀態。2 多型的前提 a 有繼承或者實現關係。b 有方法重寫。c 有父類或者父介面引用指向子類物件。多型的分類 a 具體類多型 class fu class zi extends fu fu f new zi b 抽象類多型 abstract class fu ...

多型的理解

多型 事物執行過程中存在不同的狀態 多型存在的條件 必須具有繼承關係,子類要重寫父類的方法,父類引用子類的物件 例如乙個父類animal 子類 cat 通過輸出結果可以很充分的體現了多型的三個前提 1.必須有繼承關係 cat繼承animal 2.必須重寫父類方法 子類cat重寫了父類的eat,rn,...