小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

對(duì)Java程序多態(tài)性支持的改進(jìn)

 ipinyou 2009-11-30

對(duì)Java程序多態(tài)性支持的改進(jìn)

2007-09-06 10:48作者:佚名出處:論壇整理責(zé)任編輯:方舟

  多態(tài)性(polymorphism)是面向?qū)ο缶幊痰膶傩裕试S多個(gè)方法使用同一個(gè)接口。Java從多個(gè)方面支持多態(tài)性,其中兩個(gè)方面最為突出。第一個(gè)是每個(gè)方法(標(biāo)記為 final的方法除外)都可以被子類重寫;第二個(gè)是設(shè)立interface關(guān)鍵字。下面將給出這兩方面的詳細(xì)介紹。

  由于超類中的方法可以在派生類中重寫,因此創(chuàng)建類的層次結(jié)構(gòu)非常簡(jiǎn)單。在類的層次結(jié)構(gòu)中,每個(gè)子類都將它的超類特化(specialization)。大家知道,超類的一個(gè)引用可以引用它的任何一個(gè)子類,而且通過(guò)超類的引用調(diào)用某子類對(duì)象的一個(gè)方法時(shí),會(huì)自動(dòng)執(zhí)行由該子類重寫后的版本。因此,可以用超類來(lái)定義對(duì)象的形式并提供對(duì)象的默認(rèn)實(shí)現(xiàn),而子類根據(jù)這種默認(rèn)實(shí)現(xiàn)進(jìn)行修改,以更好地適應(yīng)具體情況的要求。因此,在超類中定義的一個(gè)接口可以作為多個(gè)不同實(shí)現(xiàn)的基礎(chǔ)。

  當(dāng)然,Java進(jìn)一步采取了“一個(gè)接口,多個(gè)方法”的概念。它定義了interface關(guān)鍵字,這樣就可以將類的方法和類的實(shí)現(xiàn)完全分離。盡管接口是抽象的,但是仍然可以聲明接口類型的引用。這個(gè)概念非常重要,因?yàn)樗梢愿倪M(jìn)多態(tài)性的應(yīng)用。只要某個(gè)類實(shí)現(xiàn)一個(gè)接口,并且該接口提供了某種功能,那么任何需要這種功能的代碼都可以使用這個(gè)類的對(duì)象。例如,假設(shè)某個(gè)接口的名稱為MyIF,考慮下面的方法:

  void myMeth(MyIF ob) {

  // ...

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多