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

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

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

    zhrb的空間

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      20 隨筆 :: 0 文章 :: 29 評論 :: 0 Trackbacks

           看了一下java tutorial里面對接口的定義,底下附1:借口是抽取相互之間沒有關系的類的共同特征,而不用去關注類之間的關系。
           我覺得這個是借口和抽象類最關鍵的區別,接口是希望一組沒有層次關系的類之間可以擁有共同的行為,而抽象類作為父類的話,自然希望其子類在邏輯上和父類是有一定的關系的。比如說一個抽象類,bird,里面有fly這個方法。我們現在想設計一架飛機也可以飛,雖然我們可以讓plane這個類繼承bird這個抽象類,但是這兩個完全是風馬牛不相及的東西,自然不應該有繼承關系了。但如果是接口設計的話,我們可以設計出一個flyable的接口,里面定義fly的方法,因為bird和plane都可以飛,所以我們可以讓鳥和飛機類去implement這個flyable的接口,然后各自實現不同的fly的方法。
            java tutorial還有一個例子,比如說商店有若干種商品,各種商品之間一般不會有什么繼承關系,但是現在店主希望管理各種商品,所以店主希望所有的商品都實現一種可以稱為manageable的接口,里面包含用于管理的一些方法和屬性,如價格、索引號這樣的屬性或者設置零售價格這樣的方法。這樣接口就巧妙的將各種不相關的類聯系起來了。如果各種各樣的商品類implement了manageable接口,那么店主只需要面向manageable這個接口就可以管理各種商品了,而不需要考慮各種商品之間是否有什么層次關系。所以接口給編程以極大的靈活性,而常說的面向接口編程大概是這個意思吧。
            Java中還有一些常用街口,比如說comparable接口,任何類只要實現了這個接口,都可以被compare。(好像是這樣,不確定,有錯請指出)。Java中還有什么比較常用的接口呢?
            附2、4個人感覺都是基于1的。不過附3,看不太懂,是什么意思。附4講到了可以通過接口實現多重繼承,不過個人感覺接口志不在此,只是在語法上達到了這樣的效果(編程經驗不豐富,所以想當然這么認為,大家指正一下)
           總結一下,抽象類是一種類是對一組具有相同屬性和方法的邏輯上有關系的事物的一種抽象。而接口則是對一組具有相同屬性和方法的邏輯上不相關的事物的一種抽象。

    附:You use an interface to define a protocol of behavior that can be implemented by any class anywhere in the class hierarchy. Interfaces are useful for the following:

    1.Capturing similarities among unrelated classes without artificially forcing a class relationship
    2.Declaring methods that one or more classes are expected to implement
    3.Revealing an object's programming interface without revealing its class
    4.Modeling multiple inheritance, a feature of some object-oriented languages that allows a class to have more than one superclass

    posted on 2007-10-18 12:10 zhrb 閱讀(1502) 評論(2)  編輯  收藏

    評論

    # re: Java中接口與抽象類的區別(一些學習體會,不知正確與否,請指正) 2007-10-22 11:31 Raylong
    理解的很好,學習一下。Java的接口也突破了單繼承的限制,可以通過implements多個接口實現多重繼承。  回復  更多評論
      

    # re: Java中接口與抽象類的區別(一些學習體會,不知正確與否,請指正) 2009-05-06 22:13 RMM
    不錯,舉得例子很容易理解,多謝啦  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产精品视频免费观看| 亚洲欧洲在线播放| 免费看a级黄色片| 日韩精品免费在线视频| 色爽黄1000部免费软件下载| 亚洲国产精品久久人人爱| 亚洲日韩精品射精日| 免费人成无码大片在线观看| 野花高清在线观看免费完整版中文| 永久在线观看免费视频 | 你是我的城池营垒免费看| 国产精品亚洲五月天高清| 亚洲午夜无码久久久久小说 | AV大片在线无码永久免费| 99在线免费观看视频| 一个人看的www免费视频在线观看| 免费一区二区三区在线视频 | 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲色成人四虎在线观看| 亚洲最大中文字幕| 亚洲精品视频免费看| 久久亚洲精品国产精品| 亚洲欧洲在线观看| 久久精品九九亚洲精品| 亚洲天堂男人天堂| 亚洲一区免费观看| 亚洲a一级免费视频| 精品亚洲国产成AV人片传媒| 久久久久亚洲AV无码麻豆| 99亚洲精品高清一二区| 亚洲女人18毛片水真多| 亚洲国产亚洲综合在线尤物| 亚洲一区二区三区播放在线| 亚洲资源最新版在线观看| 亚洲一级特黄特黄的大片| 亚洲精品久久久久无码AV片软件| 亚洲精品GV天堂无码男同| 国产AV无码专区亚洲AV麻豆丫 | 又粗又大又硬又爽的免费视频| 亚洲av无码乱码在线观看野外| 亚洲成av人片一区二区三区 |