java多態(tài)的理解_第1頁
java多態(tài)的理解_第2頁
java多態(tài)的理解_第3頁
java多態(tài)的理解_第4頁
java多態(tài)的理解_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java多態(tài)性理解Java中多態(tài)性的實(shí)現(xiàn)什么是多態(tài)1.面向?qū)ο蟮娜筇匦?封裝、繼承、多態(tài)。從一定角度來看,封裝和繼承幾乎都是為多態(tài)而準(zhǔn)備的。這是我們最后一個(gè)概念,也是最重要的知識(shí)點(diǎn)。2.多態(tài)的定義:指允許不同類的對(duì)象對(duì)同一消息做出響應(yīng)。即同一消息可以根據(jù)發(fā)送對(duì)象的不同而采用多種不同的行為方式。(發(fā)送消息就是函數(shù)調(diào)用3.實(shí)現(xiàn)多態(tài)的技術(shù)稱為:動(dòng)態(tài)綁定(dynamic binding,是指在執(zhí)行期間判斷所引用對(duì)象的實(shí)際類型,根據(jù)其實(shí)際的類型調(diào)用其相應(yīng)的方法。4.多態(tài)的作用:消除類型之間的耦合關(guān)系。5.現(xiàn)實(shí)中,關(guān)于多態(tài)的例子不勝枚舉。比方說按下F1 鍵這個(gè)動(dòng)作,如果當(dāng)前在Flash界面下彈出的就是A

2、S 3 的幫助文檔;如果當(dāng)前在Word 下彈出的就是Word 幫助;在Windows 下彈出的就是Windows 幫助和支持。同一個(gè)事件發(fā)生在不同的對(duì)象上會(huì)產(chǎn)生不同的結(jié)果。下面是多態(tài)存在的三個(gè)必要條件,要求大家做夢(mèng)時(shí)都能背出來!多態(tài)存在的三個(gè)必要條件一、要有繼承;二、要有重寫;三、父類引用指向子類對(duì)象。多態(tài)的好處:1.可替換性(substitutability。多態(tài)對(duì)已存在代碼具有可替換性。例如,多態(tài)對(duì)圓Circle 類工作,對(duì)其他任何圓形幾何體,如圓環(huán),也同樣工作。2.可擴(kuò)充性(extensibility。多態(tài)對(duì)代碼具有可擴(kuò)充性。增加新的子類不影響已存在類的多態(tài)性、繼承性,以及其他特性的運(yùn)行

3、和操作。實(shí)際上新加子類更容易獲得多態(tài)功能。例如,在實(shí)現(xiàn)了圓錐、半圓錐以及半球體的多態(tài)基礎(chǔ)上,很容易增添球體類的多態(tài)性。3.接口性(interface-ability。多態(tài)是超類通過方法簽名,向子類提供了一個(gè)共同接口,由子類來完善或者覆蓋它而實(shí)現(xiàn)的。如圖8.3 所示。圖中超類Shape規(guī)定了兩個(gè)實(shí)現(xiàn)多態(tài)的接口方法,computeArea(以及computeVolume(。子類,如Circle和Sphere為了實(shí)現(xiàn)多態(tài),完善或者覆蓋這兩個(gè)接口方法。4.靈活性(flexibility。它在應(yīng)用中體現(xiàn)了靈活多樣的操作,提高了使用效率。5.簡(jiǎn)化性(simplicity。多態(tài)簡(jiǎn)化對(duì)應(yīng)用軟件的代碼編寫和修改

4、過程,尤其在處理大量對(duì)象的運(yùn)算和操作時(shí),這個(gè)特點(diǎn)尤為突出和重要。Java中多態(tài)的實(shí)現(xiàn)方式:接口實(shí)現(xiàn),繼承父類進(jìn)行方法重寫,同一個(gè)類中進(jìn)行方法重載。一個(gè)小題目:(一相關(guān)類 class A .public String show(D obj.return("A and D"public String show(A obj.return("A and A"class B extends A.public String show(B obj.return("B and B"public String show(A obj.return(&qu

5、ot;B and A"class C extends B.class D extends B. (二問題:以下輸出結(jié)果是什么? A a1 = new A(;A a2 = new B(;B b = new B(;C c = new C(;D d = new D(;System.out.println(a1.show(b; System.out.println(a1.show(c; System.out.println(a1.show(d; System.out.println(a2.show(b; System.out.println(a2.show(c; System.out.println(a2.show(d; System.out.println(b.show(b; System.out.println(b.show(c; System.out.println(b.s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論