合成復用原則

2021-10-02 03:13:08 字數 352 閱讀 8030

合成復用原則(composite reuse principle,crp)又叫組合/聚合復用原則(composition/aggregate reuse principle,carp)。它要求在軟體復用時,要盡量先使用組合或者聚合等關聯關係來實現,其次才考慮使用繼承關係來實現。

//抽象汽車類

class abstractcar;

//大眾屬於汽車,是is關係,大眾是汽車,所以繼承關係

class dazhong:public abstractcar

void play()

~person(){

if(car!=null){

cout<<"delete person"<

合成復用原則

合成復用原則是指盡量使用物件組合 聚合而不是繼承關係達到軟體復用的目的,可以是系統更加靈活,降低類與類之間的耦合度,乙個類的變化對其他類造成的影響相對較小。繼承叫做白箱復用,相當與把所有的實現細節暴露給子類,物件組合 聚合稱為黑箱復用,我們是無法獲取到類以外的物件的實現細節,雖然我們要根據業務場景來...

合成復用原則

合成復用原則的定義 合成復用原則 composite aggregate reuse principle,carp 指盡量使用物件組合 has a 或物件聚合 contanis a 的方式實現 復用,而不是用繼承關係達到 復用的目的。合成復用原則可以使系統更加靈活,降低類與類之間的耦合度,乙個類的變...

合成復用原則

合成復用原則是指 盡量先使用組合或者聚合等關聯關係來實現,其次才考慮使用繼承關係來實現。通常類的復用分為繼承復用和合成復用兩種。繼承復用雖然有簡單和易實現的優點,但它也存在以下缺點 a 繼承復用破壞了類的封裝性。因為繼承會將父類的實現細節暴露給子類,父類對子類是透明的,所以這種復用又稱為 白箱 復用...