第52課 C 中的抽象類和介面

2021-10-03 09:11:43 字數 1483 閱讀 9638

本文內容來自於對狄泰學院 唐佐林老師 c++深度解析 課程的學習總結

物件導向中的 抽象類

可用於表示現實世界中的 抽象概念

是一種只能定義型別,而不能產生物件 的類

只能被繼承 並重寫相關函式

直接特徵是相關函式沒有完整的實現

c++ 語言中 沒有抽象類 的概念

c++ 中通過純虛函式實現抽象類

純虛函式是指只定義原型 的成員函式

乙個 c++ 類中存在純虛函式 就成了抽象類

純虛函式的語法規則:

實驗程式設計

我們來編寫乙個程式,實現乙個圖形抽象類,圓形類,矩形類

#include

#include

using

namespace std;

class

shape

;class

rect

:public shape

double

area()

};class

circle

:public shape

double

area()

};void

area

(shape *sp)

intmain()

執行結果

抽象類與純虛函式

抽象類只能 用作父類被繼承

子類必須實現純虛函式 的具體功能

純虛函式被實現後 成為虛函式

如果子類沒有實現純虛函式, 則子類成為抽象類

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

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

所有的成員函式都是公用的

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

介面是一種特殊的抽象類

下面我們來編寫乙個程式來實現乙個通訊通道的介面

#include

#include

using

namespace std;

class

channel

;int

main()

小結

抽象類 用於描述現實世界中的 抽象概念

抽象類只能被繼承 不能建立物件

c++ 中沒有抽象類 的概念

c++ 中通過純虛函式實現抽象類只存在純虛函式 時成為介面

介面 是一種特殊的抽象類

第52課 C 中的抽象類和介面

1 物件導向中的抽象概念 思考 抽象圖形中,圖形的面積如何計算?2 現實中 需要知道具體的圖形型別,才能求面積。3 shape只是乙個概念上的型別 抽象圖形型別 沒有具體物件。1 可用於表示現實世界中的抽象概念 2 抽象類是一種只能定義型別,而不能產生物件的類 3 只能被繼承並重寫相關函式 4 直接...

52 c 中的抽象類和介面

c 中並不支援這兩個概念,但是卻有對應的東西。物件導向中抽象概念 在進行物件導向分析時,會發現一些抽象的概念。shape是現實世界中各種圖形的抽象概念,因此,程式中必須能夠反映抽象的圖形,程式中通過抽象類表示圖形的概念,抽象類不能建立物件,只能用於繼承。c 語言中沒有抽象類的概念,c 中通過純虛函式...

52 C 中的抽象類和介面

1 什麼是抽象類 class shape shape 只是乙個概念上的型別,沒有具體物件 2 抽象類與純虛函式 純虛函式的語法規則 class shape 0 用於告訴編譯器當前是宣告純虛函式,因此不需要定義函式體 這個程式讓我們了解了抽象類的概念,以及用抽象類來實現多型。本來我們不能用shape這...