<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yeafee@夜飛郎

    it's usually better to solve problems with simplicity and finesse rather than muscle.

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      33 隨筆 :: 3 文章 :: 2 評論 :: 0 Trackbacks
    Java語言中對于抽象類定義進行支持兩種機制:abstract class 擴展extends和 interface 實現implements。

    abstract class和interface在對于抽象類定義的支持方面具有很大的相似性,甚至可以相互替換(程序不會出錯,功能也可以同等實現)。

    因此很多開發者在進行抽象類定義時對于abstract class和interface的選擇顯得比較隨意(和弄不清兩種抽象機制有關?)。

    其實,abstract class 和 interface 區別開來還是容易的。只要弄清楚描述對象本質和抽象概念的關系就好區分了。
    當描述對象本質和抽象概念是"is-a"關系時使用abstract來抽象描述對象;當描述對象本質和抽象概念是"like-a"關系時使用interface來抽象該對象
    ?
    舉個例子:
    我們來抽象手機,作為一種通訊工具。它的基本功能是拔電話(本質),不具備此功能的還能稱為手機?然后大家知道,手機還有許多的擴展功能,各家可能都不一樣。

    1abstract?class?Call{?
    2//?
    3abstract?void?dial();?
    4}
    ?

    interface?Dict{?
    ????
    void?findWord();?
    }
    ?

    class?XXPaiTelephone?
    extends?Call?
    implements?Dict{?
    ????
    void?dial(){??}?
    ????
    void?findWord(){??}?
    }


    上面基本實現對某品牌電話的一個抽象描述。因為描述對象本質是電話("is-a"關系),所以在抽象電話的功能時用的是abstract,而在抽象詞典功能("like-a"關系,帶詞典功能手機,像一部詞典)時就的就是interface。

    如果換了描述對象,假如電話換成是學習機。此時,查詞典成了本質("is-a"關系)。打電話的功能就成了一種擴展功能("like-a"的關系,像一個電話,其實它主要是用來查詞典的)

    abstract?class?Dict{?
    ????
    abstract?void?findWord();
    }

    ?
    interface?Call{?
    ????
    void?dial();?
    }
    ?


    class?XXPLearnMachine?
    extends?Dict?
    implements?Call{?
    ????
    void?findWord(){??}?
    ????
    void?dial(){??}?
    }

    參考:http://www.cnblogs.com/Mozier/archive/2006/04/08/369851.html
    posted on 2010-02-09 16:07 @yeafee 閱讀(196) 評論(0)  編輯  收藏 所屬分類: 程序語言
    主站蜘蛛池模板: 亚洲人成网站色在线观看| 亚洲视频免费在线观看| 最新69国产成人精品免费视频动漫| 美女黄频免费网站| 黄视频在线观看免费| 福利免费在线观看| 中文字幕免费在线看线人| 黄网址在线永久免费观看| 中文字幕乱码亚洲无线三区| 在线观看AV片永久免费| 亚洲国产精品尤物YW在线观看| 久久噜噜噜久久亚洲va久| 亚洲av永久中文无码精品综合| 国产精品视频全国免费观看| 成人免费视频69| 亚洲国产精品无码久久一区二区| 亚洲丰满熟女一区二区v| 一区二区三区免费在线视频| 99久久免费国产香蕉麻豆 | 无码国产精品一区二区免费I6| 亚洲人成人77777在线播放| 妞干网在线免费观看| 亚洲欧洲日韩不卡| 69成人免费视频无码专区| 亚洲视频在线观看网站| 九九九国产精品成人免费视频| 欧洲黑大粗无码免费| 日韩精品亚洲专区在线影视| 可以免费看的卡一卡二| 亚洲成色999久久网站| 野花高清在线观看免费3中文| 亚洲国产精品成人综合色在线| 亚洲精品tv久久久久久久久久| 亚洲不卡中文字幕| a级片免费在线观看| 亚洲国产精品自在拍在线播放| 久久国产精品成人免费| 亚洲午夜久久久久久噜噜噜| 精品久久久久久亚洲中文字幕 | 亚洲最大中文字幕无码网站| 免费福利视频导航|