類的繼承與組合

2021-06-22 07:36:43 字數 351 閱讀 8751

無論是繼承與組合本質上都是把子物件放在新型別中,兩者都是使用建構函式的初始化列表去構造這些子物件。

組合中是希望新類的內部具有已存在的類的一些功能的時候使用,而不是希望將已存在類作為它的介面。組合通過嵌入乙個物件以實現新類的功能,而新類使用者看到的將是新定義的類的介面,而不是來自老類的一些介面。

比如,汽車與輪胎、引擎的關係是一種通過組合形成一種新類的功能  (關係has-a)。

如果希望新類與已存在的類有相同的介面(並且在這個基礎上派生類還可以增加自己的資料成員)。這時候需要用繼承,也稱為子型別化。(關係is-a)

一般可以通過黎克特制代換原則來檢驗繼承的質量。

類的繼承與組合

物件 object 是類 class 的乙個例項 instance 如果將物件比作房子,那麼類就是房子的設計圖紙。所以物件導向設計的重點是類的設計,而不是物件的設計。對於c 程式而言,設計孤立的類是比較容易的,難的是正確設計基類及其派生類。本章僅僅論述 繼承 inheritance 和 組合 com...

繼承與組合

題目描述 已知類如下 1 birthdate 生日類 含有 year,month,day 等資料成員 2 teacher 教師類 含有 num,name,等資料成員 3 professor 教授類 含有 教師類和生日類的資料成員 要求 1 通過對teacher和birthdate使用繼承和組合的方式...

繼承與組合

繼承與組合 繼承是實現類重用的重要手段,但繼承有乙個最大的壞處 就是破壞封裝,相比之下,組合也是實現類重用的重要方式,而採用組合方式來實現類重用則能提供更好的封裝性。繼承特點 繼承子類擴充套件,得到父類的屬性和方法。許可權允許的情況,子類可以直接訪問父類的屬性和方法,極大的破壞了封裝的特性 從而造成...