黑马程序员_第8天
(一)?? 多態(tài)
多態(tài)定義:某一類(lèi)事物的多種存在形態(tài)。
例如:動(dòng)物中貓,狗。
貓這個(gè)對(duì)象對(duì)應(yīng)的類(lèi)型是貓類(lèi)型
???????? 貓 x = new 貓();
同時(shí)貓也是動(dòng)物中的一種,也可以把貓稱(chēng)為動(dòng)物。
???????? 動(dòng)物 y = new 貓();
???????? 動(dòng)物是貓和狗具體事物中抽取出來(lái)的父類(lèi)型。
???????? 父類(lèi)型引用指向了子類(lèi)對(duì)象。
1,? 多態(tài)的體現(xiàn)
父類(lèi)的引用指向了自己的子類(lèi)對(duì)象。
父類(lèi)的引用也可以接收自己的子類(lèi)對(duì)象。
2,? 多態(tài)的前提
必須是類(lèi)與類(lèi)之間有關(guān)系。要么繼承,要么實(shí)現(xiàn)。
通常還有一個(gè)前提:存在覆蓋。
3,? 多態(tài)的好處
多態(tài)的出現(xiàn)大大的提高了程序的擴(kuò)展性。
4,? 多態(tài)的弊端:
提高了擴(kuò)展性,但是中南使用父類(lèi)的引用訪問(wèn)父類(lèi)中的成員。
5,? 多態(tài)的應(yīng)用
注意:多態(tài)自始自終都是子類(lèi)對(duì)象在做變化。
6,? 多態(tài)的出現(xiàn)代碼中的特點(diǎn)(多態(tài)使用的注意事項(xiàng))
在多態(tài)中(非靜態(tài))成員函數(shù)的特點(diǎn):
在編譯時(shí)期:參閱引用型變量所屬的類(lèi)中是否有調(diào)用的方法,如果有,編譯通過(guò),如果沒(méi)有,編譯失敗。
在運(yùn)行時(shí)期:參閱對(duì)象所屬的類(lèi)中是否有調(diào)用的方法。
簡(jiǎn)答總結(jié):成員函數(shù)在多態(tài)調(diào)用時(shí),編譯看左邊,運(yùn)行看右邊。
?
在多態(tài)中成員變量的特點(diǎn):
無(wú)論編譯和運(yùn)行都參考左邊(引用型變量所屬的類(lèi))。
在多態(tài)中靜態(tài)成員函數(shù)的特點(diǎn):無(wú)論編譯和運(yùn)行都參考左邊。
?
(二)?? Object類(lèi)
Object:是所有對(duì)象的直接后者間接父類(lèi)。
該類(lèi)中定義的肯定是所有對(duì)象都具備的功能。
Object類(lèi)中已經(jīng)提供了對(duì)對(duì)象是否相同的比較方法。
如果自定義類(lèi)中也有比較相同的功能,沒(méi)有必要重新定義。
只要沿襲父類(lèi)中的功能,建立自己特有比較內(nèi)容即可。這就是覆蓋。
轉(zhuǎn)載于:https://www.cnblogs.com/sincedayone/archive/2013/05/01/3053590.html
總結(jié)
- 上一篇: 使用js对来判断一个字符串中括号是否平衡
- 下一篇: Tomcat、JBOSS、WebSphe