C 中的介面和抽象類

2022-04-30 17:27:14 字數 620 閱讀 1524

介面 

是乙個規範 只是宣告不做功能 是一組規則的組合,它規定了實現本介面的類或介面必須擁有的一組規則。

介面不能被例項化

介面只能包含方法宣告

介面的成員包括  方法、屬性、索引器、事件

介面不能包含   常量、字段、建構函式、析構函式、靜態成員

抽象類是為了**的重用,而使用介面的動機為了實現多型性。

抽象方法只做宣告,而不包含實現,可以看成是沒有實現的虛方法

抽象類不能被例項化

抽象類可以但不是必須有抽象屬性和抽象方法,但是一旦有了抽象方法,就一定要把這個類宣告為抽象類。

具體派生類必須覆蓋基類的抽象方法。

抽象派生類可以覆蓋基類的抽象方法,也可以不覆蓋,如果不覆蓋則其具體派生類必須覆蓋他們。

介面和抽象類的區別

抽象類可以有構造方法,介面中不能有構造方法

抽象類中可以有普通成員變數,介面中沒有普通成員變數

抽象類中可以包含靜態方法,介面中不能包含靜態方法,

乙個類可以實現多個介面,但只能繼承乙個抽象類

介面可以被多重實現,抽象類只能被單一繼承

如果抽象類實現了介面,就可以把介面種方法對映到抽象類中作為抽象方法而不必實現,而在抽象類的子類中實現介面中方法

C 中抽象類和介面

1.對於介面,我們只指定抽象行為,而抽象類經常會指定 具體的 資料結構 attribute 以及一些抽象行為和具體行為的混合體。所以,從程度看,介面比抽象類更為抽象,因為介面留下了更多想象空間。2.當從乙個抽象類派生乙個出乙個非抽象類時,派生類通過負載的手段,提供抽象方法的具體實現,所以,派生類的方...

C 中的抽象類和介面

介紹 這個問題是經常被問及的。這篇文章將給出關於抽象類和介面的使用,什麼時候用什麼?背景 在以前的觀點中介面抽象類被大量用於提供已知結構的客戶端應用程式。抽象類為客戶端類定義了特定的行為。介面主要被用於物件導向的條款。基於介面的應用程式也被稱為合同程式。這是什麼意思?下面將詳細討論。介面和抽象類 實...

C 中的抽象類和介面

一 介面定義 public inte ce idisposable 1,宣告介面在語法上和宣告抽象類完全相同,但不允許提供介面中任何成員的執行方式。一般情況下,介面中只能包含方法 屬性 索引器和事件的宣告。2,介面不能例項化,只能包含其成員的簽名,即只包含未實現的方法宣告。3,介面不能有建構函式或字...