設計模式之組合模式

2021-05-18 06:23:31 字數 588 閱讀 4173

組合模式:以「整體-部分」的層次結構,將物件以樹型結構組合起來。

如下圖所示:

組合模式首先得定義乙個用來管理和訪問部件們的抽象類。

public abstract class equipment

再建立乙個組合體的部件

class element:equipment

} 現在我們再來定義乙個組合體,也就是組合各個部件的類。

class compositeequipment :

equipment 過載

add()

、remove()

和getequip()

函式。}

以下是如何使用這個組合模式

compositeequipment composite=new compositeequipment();

composite.add(new element());

composite.add(new element());

composite.netprice();

計算出總**

當然這是個組合模式的例子,實際上上面的這個例子是沒有啥意義的,但是它卻是乙個簡單易懂的組合模式的模型。

設計模式之 組合模式

有時候我們需要維護一些物件,這些物件具有一定的層次結構,它們之間雖然差異很大,但在使用的時候我們希望能構一致的對待,比如windows控制項,繪圖中的圖形等,這個時候我們就可以採用組合模式來進行管理。組合模式就是將要管理的物件按樹型結構來進行組織,表示成一種 整體 部分 的層次結構,使得使用者對單個...

設計模式之組合模式

組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構。使得使用者對單個物件和組合物件的使用具有一致性。適用性 想表示物件的部分 整體層次結構,希望使用者忽略組合物件與單個物件的不同,使用者將統一地使用組合結構中的所有物件。典型表示結構圖 宣告組合中的物件宣告介面 在適當的情況下,實現所有類共...

設計模式之組合模式

1 組合模式 composite 將物件組合成樹形結構已表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。uml圖如下 2 組合模式的透明方式與安全方式 1 透明方法 也就是說在component中宣告所有用來管理子物件的方法,其中包括add,remove等。這樣...