国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

接口和抽象類有什么區(qū)別?

2019-11-18 12:09:35
字體:
來源:轉載
供稿:網友

  作者: Allen
   抽象方法是必須實現的方法。就象動物都要呼吸。但是魚用鰓呼吸,豬用肺呼吸。
   動物類要有呼吸方法。怎么呼吸就是子類的事了。
   現在有很多討論和建議提倡用interface代替abstract類,兩者從理論上可以做一般性的混用,但是在實際應用中,他們還是有一定區(qū)別的。抽象類一般作為公共的父類為子類的擴展提供基礎,這里的擴展包括了屬性上和行為上的。而接口一般來說不考慮屬性,只考慮方法,使得子類可以自由的填補或者擴展接口所定義的方法,就像java王子所說的事件中的適配器就是一個很好的應用。
   用一個簡單的例子,比如說一個教師,我們把它作為一個抽象類,有自己的屬性,比如說年齡,教育程度,教師編號等等,而教師也是分很多種類的,我們就可以繼續(xù)教師類而擴展特有的種類屬性,而普遍屬性已經直接繼續(xù)了下來。
   而接口呢~還是拿教師做例子,教師的行為很多,除了和普通人相同的以外,還有職業(yè)相關的行為,比如改考卷,講課等等,我們把這些行為定義成無body的方法,作為一個集合,它是一個interface。而教師張三李四的各自行為特點又有不同,那么他們就可以擴展自己的行為body。從這點意義上來說,interface偏重于行為。
   總之,在許多情況下,接口確實可以代替抽象類,假如你不需要刻意表達屬性上的繼續(xù)的話。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永济市| 潍坊市| 通渭县| 大新县| 德阳市| 阳江市| 北安市| 灵川县| 清徐县| 讷河市| 屏山县| 惠水县| 健康| 武宁县| 安阳县| 祁东县| 卫辉市| 陵川县| 中宁县| 通城县| 金坛市| 永平县| 东海县| 萍乡市| 双峰县| 房产| 文成县| 宁海县| 鹿泉市| 新绛县| 隆尧县| 遂平县| 日照市| 辽阳县| 乌海市| 万源市| 廉江市| 红原县| 萨嘎县| 百色市| 雷山县|