C 語言學習(十五) C 抽象類與介面

2021-10-23 10:41:47 字數 1057 閱讀 4503

1、抽象類簡介

物件導向的抽象類用於表示現實世界的抽象概念,是一種只能定義型別,不能產生物件的類(不能例項化),只能被繼承並被重寫相關函式,直接特徵是相關函式沒有完整實現。

c++語言沒有抽象類的概念,通過純虛函式實現抽象類。純虛函式是指定義原型的成員函式,c++中類如果存在純虛函式就成為了抽象類。

抽象類只能用作父類被繼承,子類必須實現父類純虛函式的具體功能,如果子類沒實現純虛函式,子類也為抽象類。

抽象類不可以定義物件,但是可以定義指標,指標指向子類物件,當子類中實現了純虛函式,可以實現多型。

#include

using

namespace std;

class

shape

;class

rectangle

:public shape

double

getarea()

const

private

:double m_width;

double m_height;};

class

circle

:public shape

double

getarea()

const

private

:double m_radius;};

intmain

(int argc,

char

*ar**)

2、介面簡介

c++中滿足下列條件的類稱為介面:

a、類中沒有定義任何的成員變數

b、所有的成員函式都是公有的

c、所有的成員函式都是純虛函式

從以上條件可以知道,介面是一種特殊的抽象類。

#include

using

namespace std;

class

channel

;int

main

(int argc,

char

*ar**)

c 抽象類與介面

1.抽象類是乙個類,可以包含一切類可以包含的型別成員。2.抽象方法必須包含在抽象類裡面,也就是乙個類中有抽象方法,那這個類一定是抽象類。3.繼承抽象類,必須顯示的實現override其抽象成員 方法 4.抽象類可以包含普通成員,但是抽象成員只能放到抽象類裡。5.抽象類不能直接例項話,宣告的物件只能使...

c 介面,抽象類學習

說明 介面可以包含方法 屬性 索引器 和事件作為成員,但是並不能設定這些成員的具體值。也就是說,只能定義,不能那個給他裡面定義的東西賦值。介面具有以下特性。c 中宣告介面時,使用inte ce關鍵字 修飾符 inte ce 介面名稱 繼承的介面列表 介面內容 說明 1.宣告介面時,除inte ce關...

C 介面(抽象類)

介面描述了類的行為和功能,而不需要完成類的特定實現。c 介面是使用抽象類來實現的,抽象類與資料抽象互不混淆,資料抽象是乙個把實現細節與相關的資料分離開的概念。如果類中至少有乙個函式被宣告為純虛函式,則這個類就是抽象類。純虛函式是通過在宣告中使用 0 來指定的,如下所示 class box 設計抽象類...