介面描述了類的行為和功能,而不需要完成類的特定實現。
c++ 介面是使用抽象類來實現的,抽象類與資料抽象互不混淆,資料抽象是乙個把實現細節與相關的資料分離開的概念。
如果類中至少有乙個函式被宣告為純虛函式,則這個類就是抽象類。純虛函式是通過在宣告中使用 「= 0」 來指定的,如下所示:
class box
;
設計抽象類(通常稱為 abc)的目的,是為了給其他類提供乙個可以繼承的適當的基類。抽象類不能被用於例項化物件, 它只能作為介面使用 。如果試圖例項化乙個抽象類的物件,會導致編譯錯誤。
因此,如果乙個 abc 的子類需要被例項化,則必須實現每個虛函式,這也意味著 c++ 支援使用 abc 宣告介面。如果沒有在派生類中過載純虛函式,就嘗試例項化該類的物件,會導致編譯錯誤。
不能例項化抽象類,只能做介面使用,如果非得例項,那麼必須對其每個抽象函式對應乙個實際的函式,就是這個樣子,很簡單。可用於例項化物件的類被稱為具體類。
class shape
void setheight(int h)
protected:
int width;
int height;
};// 派生類
class rectangle: public shape
};class ********: public shape
};
上面所示的**你應該能很好地理解。
就是在定義設計繼承類時重新設計該函式。
物件導向的系統可能會使用乙個抽象基類為所有的外部應用程式提供乙個適當的、通用的、標準化的介面。然後,派生類通過繼承抽象基類,就把所有類似的操作都繼承下來。
外部應用程式提供的功能(即公有函式)在抽象基類中是以純虛函式的形式存在的。這些純虛函式在相應的派生類中被實現。
這個架構也使得新的應用程式可以很容易地被新增到系統中,即使是在系統被定義之後依然可以如此。
抽象類可以用於設計框架,設定好其必要的元素,可以新增其他的,但其中必要的一定要被設計好,這樣就能實現相關操作了。
C 介面(抽象類)
介面描述了類的行為和功能,而不需要完成類的特定實現。c 介面是使用抽象類來實現的,抽象類與資料抽象互不混淆,資料抽象是乙個把實現細節與相關的資料分離開的概念。如果類中至少有乙個函式被宣告為純虛函式,則這個類就是抽象類。純虛函式是通過在宣告中使用 0 來指定的,如下所示 class box 設計抽象類...
C 介面(抽象類)
介面描述了類的行為和功能,而不需要完成類的特定實現。c 介面是使用抽象類來實現的,抽象類與資料抽象互不混淆,資料抽象是乙個把實現細節與相關的資料分離開的概念。如果類中至少有乙個函式被宣告為純虛函式,則這個類就是抽象類。純虛函式是通過在宣告中使用 0 來指定的,如下所示 class box 設計抽象類...
C 介面(抽象類)
設計抽象類 通常稱為 abc 的目的,是為了給其他類提供乙個可以繼承的適當的基類。抽象類不能被用於例項化物件,它只能作為介面使用。如果試圖例項化乙個抽象類的物件,會導致編譯錯誤。因此,如果乙個 abc 的子類需要被例項化,則必須實現每個虛函式,這也意味著 c 支援使用 abc 宣告介面。如果沒有在派...