形式:
class Shape
{
public:
? ? virtual double getVolume() = 0;
}
二、details
1. 抽象類(lèi)
2. 純虛函數(shù)
? ? ? 所有繼承該類(lèi)的子類(lèi),必須繼承該純虛函數(shù)后,才可以實(shí)例化。
三、推斷
設(shè)計(jì)策略
面向?qū)ο蟮南到y(tǒng)可能會(huì)使用一個(gè)抽象基類(lèi)為所有的外部應(yīng)用程序提供一個(gè)適當(dāng)?shù)?、通用的、?biāo)準(zhǔn)化的接口。然后,派生類(lèi)通過(guò)繼承抽象基類(lèi),就把所有類(lèi)似的操作都繼承下來(lái)。
外部應(yīng)用程序提供的功能(即公有函數(shù))在抽象基類(lèi)中是以純虛函數(shù)的形式存在的。這些純虛函數(shù)在相應(yīng)的派生類(lèi)中被實(shí)現(xiàn)。
這個(gè)架構(gòu)也使得新的應(yīng)用程序可以很容易地被添加到系統(tǒng)中,即使是在系統(tǒng)被定義之后依然可以如此。