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 設計抽象類...