什么是多態(tài)
多態(tài),簡單來說,多態(tài)是具有表現(xiàn)多種形態(tài)的能力的特征;同一個(gè)實(shí)現(xiàn)接口,使用不同的實(shí)例而執(zhí)行不同操作。它和封裝、繼承一樣也是面向?qū)ο蟮囊淮筇攸c(diǎn)。
多態(tài)可以分為靜態(tài)多態(tài)和動(dòng)態(tài)多態(tài),靜態(tài)多態(tài)就是我們常說的方法的重載,而動(dòng)態(tài)多態(tài)必須要具備三個(gè)條件。
動(dòng)態(tài)多態(tài)發(fā)生的三個(gè)必要條件:
1.要有繼承或?qū)崿F(xiàn);
2.要有重寫;
3.發(fā)生上溯造型;
上溯造型
上溯造型是指父類引用指向子類對(duì)象(可以理解為花木蘭替父從軍)。
發(fā)生上溯造型的前提是,子類必須具有繼承或?qū)崿F(xiàn)關(guān)系。
發(fā)生上溯造型的對(duì)象只向外界公開其從父類繼承過來的屬性和方法,隱藏了自己擴(kuò)展的屬性和方法。
需要注意的是,當(dāng)發(fā)生上溯造型時(shí):1.子類沒有重寫父類方法時(shí),調(diào)用執(zhí)行的是父類的方法。
2.子類重寫了父類方法時(shí),調(diào)用執(zhí)行的是子類重寫后的方法。
3.子類與父類擁有同名變量時(shí),無論子類怎樣改值,變量值永遠(yuǎn)跟父類的變量值保持一致。
下溯造型
下溯造型可以通俗的理解為花木蘭替父從軍歸來做回花木蘭,所以發(fā)生下溯造型的前提就是,必須先發(fā)生上溯造型。也就是說,子類對(duì)象可以向上直接轉(zhuǎn)型成父類對(duì)象,但是父類對(duì)象不能直接向下轉(zhuǎn)型成子類對(duì)象。
基本格式: 子類型 變量名 = (子類型) 變量名;