在C++程序設計設計類時,用到其他類的屬性或者方法要明白是用組合還是繼承。組合即是has a,該類擁有哪些屬性或者方法;繼承即是is a,該類擁有父類的屬性或者方法。
這裡舉一個例子,假如有一個父類汽車,當有轎車、卡車、面包車等類似的實體時,此時應該選擇繼承,即派生類擁有父類汽車的屬性或者方法;當有發動機、車門、車窗等和汽車相關的屬性時,就應選擇組合。
總之,選擇組合還是繼承,就是要看是否需要新類向上映射。如果是的話,就選擇繼承,如果不需要,就應選擇組合。
作者 Wentasy