設計模式七大原則之合成復用原則

2021-10-02 15:48:34 字數 1529 閱讀 2055

原則是盡量使用合成或者聚合的方式,而不是使用繼承

場景:有兩個類a和b,b要使用a中的方法有哪幾種方法

方法一(使用繼承,不符合合成復用):

類圖

**實現:

package com.ldx.compositereuse;

public

class

cr1}

classa}

class

bextends

a

執行結果:

方法二(使用依賴,符合合成復用)

類圖:

**實現:

package com.ldx.compositereuse;

public

class

cr2}

classa2}

class

b2}

執行結果:

方法三:(使用聚合,符合合成復用)

類圖:

實現**:

package com.ldx.compositereuse;

public

class

cr3}

classa3}

class

b3}

方法四:(使用組合,符合合成復用原則)

組合和聚合的區別:聚合的兩個類生命週期互不影響,而組合不同,如a組合於b,當b的生命週期結束時,a的生命週期也結束。

類圖:

package com.ldx.compositereuse;

public

class

cr4}

classa4}

class

b4

執行結果:

小結:

合成復用原則就是盡量使用依賴、組合、聚合等方式去建立類之間的關係,少使用繼承。

七大設計原則彙總:七大設計原則彙總

設計模式七大原則之合成復用原則

合成復用原則 composite reuse principle 盡量使用組合或者聚合的方式而不是繼承達到軟體復用的原則.繼承會增加物件間的耦合性,繼承稱之為白箱復用,相當於把所有的實現細節暴露給子類.組合 聚合稱之為黑箱復用,對類以外的物件時無法獲取到實現細節的.類圖 演示 package com...

設計模式之七大原則 合成復用原則(七)

合成復用原則是物件導向設計原則的 7 條原則中剩下的最後一條,下面我們將對其進行詳細地介紹。合成復用原則 composite reuse principle,crp 又叫組合 聚合復用原則 composition aggregate reuse principle,carp 它要求在軟體復用時,要盡...

七大原則 合成復用原則

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