抽象類和介面的區別

2021-07-15 17:48:10 字數 607 閱讀 6709

/**

* 抽象類和介面的區別:

**        成員:

*            抽象類:可以有變數,可以有常量,可以有抽象方法,可以有普通方法

*            介面:沒有變數,看似變數是常量,只有抽象方法

**        關係:

*            類和類:單繼承、沒有多繼承有多層繼承

*            介面和介面:介面需要子類來實現,而介面只能定義抽象方法,所以介面只能夠繼承接(inte***ce後面不能進行implements)

*            inte***ce a

*            inte***ce b implements  a// 錯誤

*            }

*        

*         設計理念:

*            抽象類繼承是為了復用父類的模板內容,是父類物質的更加具體的體現

*            介面是為了擴充套件能力,使其具有能力看起來像乙個物質,但是並不是這個物質

*            準則:從物質(is - a)和能力(like - a)進行區分

*/

抽象類和介面的區別

要結合來使用,從而互補長短。接下來先說說抽象類和介面的區別。區別一,兩者表達的概念不一樣。抽象類是一類事物的高度聚合,那麼對於繼承抽象類的子類來說,對於抽象類來說,屬於 是 的關係 而介面是定義行為規範,因此對於實現介面的子類來說,相對於介面來說,是 行為需要按照介面來完成 這些聽起來有些虛,舉個例...

抽象類和介面的區別

net提供了介面,這個不同於class或者struct的型別定義。介面有些情況,看似和抽象類一樣,因此有些人認為在.net可以完全用介面來替換抽象類。其實不然,介面和抽象類各有長處和缺陷,因此往往在應用當中,兩者要結合來使用,從而互補長短。接下來先說說抽象類和介面的區別。區別一,兩者表達的概念不一樣...

抽象類和介面的區別

net提供了介面,這個不同於class或者struct的型別定義。介面有些情況,看似和抽象類一樣,因此有些人認為在.net可以完全用介面來替換抽象類。其實不然,介面和抽象類各有長處和缺陷,因此往往在應用當中,兩者要結合來使用,從而互補長短。接下來先說說抽象類和介面的區別。區別一,兩者表達的概念不一樣...