開閉原則(ocp)是物件導向設計中「可復用設計」的基石,是物件導向設計中最重要的原則之一,其它很多的設計原則都是實現開閉原則的一種手段。對於擴充套件是開放的,對於修改是關閉的,這意味著模組的行為是可以擴充套件的。當應用的需求改變時,我們可以對模組進行擴充套件,使其具有滿足那些改變的新行為。也就是說,我們可以改變模組的功能。對模組行為進行擴充套件時,不必改動模組的源**或者二進位制**。模組的二進位制可執行版本,無論是可鏈結的庫、dll或者.exe檔案,都無需改動。(開閉原則/2828775)
簡單來說即:封裝確定的,開放不確定的,不確定的功能推遲到合適的子類中實現
class
program
}abstract
class
vehicle
}class
car:
vehicle
}
C 中的抽象類
1 宣告乙個抽象方法使用abstract關鍵字。2 乙個類中可以包含乙個或多個抽象方法。3 抽象類中可以存在非抽象的方法。4 抽象類不能被直接被例項化。5 實現抽象類用 冒號 實現抽象方法用override關鍵字。6 抽象類可以被抽象類所繼承,結果仍是抽象類。7 抽象方法被實現後,不能更改修飾符。d...
C 中的抽象類 抽象方法
抽象類 abstract 修飾符可與類和方法一起使用 定義抽象類的目的是提供可由其子類共享的一般形式。子類可以根據自身需要擴充套件抽象類。抽象類不能例項化。抽象方法沒有函式體。抽象方法必須在子類中給出具體實現。在以下情況下,某個類將成為抽象類 當乙個類的乙個或多個方法為抽象方法時。當該類為乙個抽象類...
C 中的抽象類 抽象屬性 抽象方法
c 允許把類 屬性和函式宣告為abstract。抽象類不能例項化,抽象類可以包含普通屬性和抽象屬性,普通函式和抽象函式。抽象函式就是只有函式定義沒有函式體的函式。顯然,抽象函式本身也是虛擬 virtual 的。注意 類是乙個模板,那麼抽象類就是乙個不完整的模板。我們自然不可以使用不完整的模板去構造物...