zhrb的空間

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            20 隨筆 :: 0 文章 :: 29 評(píng)論 :: 0 Trackbacks

                  接口主要是用來(lái)描述這個(gè)系統(tǒng)有些什么功能,應(yīng)該怎么調(diào)用這些功能,是更高的一
          層抽象。主要是用來(lái)表現(xiàn)給外界看。同時(shí)接口比較穩(wěn)定,不能隨便變來(lái)變?nèi)ァR驗(yàn)槟阋?br /> 變,對(duì)于外界來(lái)說(shuō)你的表現(xiàn)就變了。接口對(duì)于系統(tǒng)來(lái)說(shuō),相當(dāng)于一個(gè)規(guī)范的描述,感覺(jué)
          有點(diǎn)像虛擬機(jī)規(guī)范之于虛擬機(jī)。接口對(duì)于編程人員來(lái)說(shuō),相當(dāng)于幫你隱藏了一些東西,
          這寫(xiě)隱藏(如何實(shí)現(xiàn))的東西,你不需要去關(guān)注。

              抽象類,在語(yǔ)法上的區(qū)別,你也說(shuō)了。實(shí)際上抽象類也可以部分的實(shí)現(xiàn)接口的功能
          ,即描述一些東西給外界看。抽象類更像一個(gè)系統(tǒng)的骨架,里面有一些基本的需要共享
          的代碼。和一些已經(jīng)實(shí)現(xiàn)好的方法。想想,如果全都用接口代替抽象類的話,那么我們
          底下子類的編寫(xiě)就需要編寫(xiě)大量的代碼。而這些子類,本可以實(shí)現(xiàn)代碼和屬性的共享的
          。所以抽象類,更多的是一個(gè)對(duì)內(nèi)的東西。

              可以說(shuō)接口是比抽象類更抽象的一個(gè)東西。接口和抽象類關(guān)注的地方不一樣。當(dāng)然
          從邏輯上來(lái)看,他們的區(qū)別不是那么的明顯。但是從用法上來(lái)看,他們還是有比較大的
          區(qū)別。

              寫(xiě)的有點(diǎn)亂...

          posted on 2008-02-28 15:43 zhrb 閱讀(1460) 評(píng)論(3)  編輯  收藏

          評(píng)論

          # re: 接口與抽象類的區(qū)別.... 2008-07-18 09:03 蒙娜麗莎
          抽象方法是必須實(shí)現(xiàn)的方法。就象動(dòng)物都要呼吸。但是魚(yú)用鰓呼吸,豬用肺呼吸。
          動(dòng)物類要有呼吸方法。怎么呼吸就是子類的事了。
          現(xiàn)在有很多討論和建議提倡用interface代替abstract類,兩者從理論上可以做一般性的混用,但是在實(shí)際應(yīng)用中,他們還是有一定區(qū)別的。抽象類一般作為公共的父類為子類的擴(kuò)展提供基礎(chǔ),這里的擴(kuò)展包括了屬性上和行為上的。而接口一般來(lái)說(shuō)不考慮屬性,只考慮方法,使得子類可以自由的填補(bǔ)或者擴(kuò)展接口所定義的方法,就像JAVA王子所說(shuō)的事件中的適配器就是一個(gè)很好的應(yīng)用。
          用一個(gè)簡(jiǎn)單的例子,比如說(shuō)一個(gè)教師,我們把它作為一個(gè)抽象類,有自己的屬性,比如說(shuō)年齡,教育程度,教師編號(hào)等等,而教師也是分很多種類的,我們就可以繼承教師類而擴(kuò)展特有的種類屬性,而普遍屬性已經(jīng)直接繼承了下來(lái)。
          而接口呢~還是拿教師做例子,教師的行為很多,除了和普通人相同的以外,還有職業(yè)相關(guān)的行為,比如改考卷,講課等等,我們把這些行為定義成無(wú)body的方法,作為一個(gè)集合,它是一個(gè)interface。而教師張三李四的各自行為特點(diǎn)又有不同,那么他們就可以擴(kuò)展自己的行為body。從這點(diǎn)意義上來(lái)說(shuō),interface偏重于行為。
          總之,在許多情況下,接口確實(shí)可以代替抽象類,如果你不需要刻意表達(dá)屬性上的繼承的話。  回復(fù)  更多評(píng)論
            

          # re: 接口與抽象類的區(qū)別....[未登錄](méi) 2008-07-18 10:45 zhrb
          @蒙娜麗莎
          說(shuō)的不錯(cuò),主要還是要到實(shí)踐中應(yīng)用才能具體的指導(dǎo)怎么應(yīng)用這兩者。多看多用  回復(fù)  更多評(píng)論
            

          # re: 接口與抽象類的區(qū)別.... 2009-05-31 09:04 12
          @蒙娜麗莎
          接口和抽象類差不多  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 婺源县| 扬中市| 绥江县| 鄯善县| 肥西县| 湟中县| 鹤山市| 大关县| 桂阳县| 雷山县| 城市| 岳阳市| 电白县| 泸定县| 嘉峪关市| 永昌县| 荣昌县| 威信县| 宜城市| 临海市| 南宫市| 天津市| 盖州市| 麻栗坡县| 阿城市| 延边| 哈巴河县| 沁阳市| 深泽县| 四会市| 五河县| 和静县| 白山市| 刚察县| 平定县| 新昌县| 信阳市| 怀柔区| 满洲里市| 灯塔市| 克东县|