介面:
介面成員與類成員定義相似,但是有幾個重要區別:
1.介面成員不允許使用訪問修飾符(public internal private protected),所有的介面成員都是公共的。(預設的就是public 但是不需要寫)
2.介面成員不能包含**體。
3.介面不能定義字段成員。(可以定義屬性,方法)
4.介面成員不能用關鍵字static virtual abstract sealed來定義。
5.型別定義成員是禁止的。
抽象類:
抽象類擁有如下特徵:
1,抽象類不能被例項化, 但可以有例項建構函式, 類是否可以例項化取決於是否擁有例項化的許可權 (對於抽象類的許可權是abstract, 禁止例項化),
即使不提供建構函式, 編譯器也會提供預設建構函式;
2,抽象類可以包含抽象方法和訪問器;
3,抽象類不能使用sealed修飾, sealed意為不能被繼承;
4,所有繼承自抽象類的非抽象類必須實現所有的抽象成員,包括方法,屬性,索引器,事件;
abstract修飾的方法有如下特徵:
1,抽象方法即是虛擬方法(隱含);
2,抽象方法只能在抽象類中宣告;
3,因為抽象方法只是宣告, 不提供實現, 所以方法只以分號結束,沒有方法體,即沒有花括號部分;如
public abstract void mymethod();
4,override修飾的覆蓋方法提供實現,且只能作為非抽象類的成員;
5,在抽象方法的宣告上不能使用virtual或者是static修飾.即不能是靜態的,又因為abstract已經是虛擬的,無需再用virtual強調.
抽象屬性儘管在行為上與抽象方法相似,但仍有有如下不同:
1,不能在靜態屬性上應用abstract修飾符;
2,抽象屬性在非抽象的派生類中覆蓋重寫,使用override修飾符;
C 介面(抽象類)
介面描述了類的行為和功能,而不需要完成類的特定實現。c 介面是使用抽象類來實現的,抽象類與資料抽象互不混淆,資料抽象是乙個把實現細節與相關的資料分離開的概念。如果類中至少有乙個函式被宣告為純虛函式,則這個類就是抽象類。純虛函式是通過在宣告中使用 0 來指定的,如下所示 class box 設計抽象類...
C 介面(抽象類)
介面描述了類的行為和功能,而不需要完成類的特定實現。c 介面是使用抽象類來實現的,抽象類與資料抽象互不混淆,資料抽象是乙個把實現細節與相關的資料分離開的概念。如果類中至少有乙個函式被宣告為純虛函式,則這個類就是抽象類。純虛函式是通過在宣告中使用 0 來指定的,如下所示 class box 設計抽象類...
C 介面(抽象類)
設計抽象類 通常稱為 abc 的目的,是為了給其他類提供乙個可以繼承的適當的基類。抽象類不能被用於例項化物件,它只能作為介面使用。如果試圖例項化乙個抽象類的物件,會導致編譯錯誤。因此,如果乙個 abc 的子類需要被例項化,則必須實現每個虛函式,這也意味著 c 支援使用 abc 宣告介面。如果沒有在派...