設計模式C 實現(十一) 組合模式

2022-05-30 03:27:15 字數 1792 閱讀 8890

將物件組合成樹形結構以表示「部分-整體」的層次結構。composite使得使用者對單個物件和組合物件的使用具有一致性。

我們實現乙個選單結構,乙個選單可以包含子選單或者選單項

定義乙個抽象類,選單和選單項都繼承自這個類

public abstract class menucomponet

public virtual void remove(menucomponet menucomponet)

public virtual menucomponet getchild(int i)

public virtual void print()

}

'>public

abstract

class

menucomponet

public

virtual

void

remove

(menucomponet menucomponet)

public

virtual menucomponet getchild

(int i)

public

virtual

void

print

() }

選單包含乙個子節點列表

public class menu : menucomponet

public override void add(menucomponet menucomponet)

public override void remove(menucomponet menucomponet)

public override menucomponet getchild(int i)

public override void print()}}

'> public

class

menu : menucomponet

public

override

void

add(menucomponet menucomponet)

public

override

void

remove

(menucomponet menucomponet)

public

override menucomponet getchild

(int i)

public

override

void

print

() }

}選單項

public class menuitem : menucomponet

public override void print()

}

'> public

class

menuitem : menucomponet

public

override

void

print

() }

客戶使用

class program

}

'> class

program

}執行結果

Java設計模式(十一) 組合模式

組合模式 一 定義 二 結構 三 具體案例 四 適用性 五 總結 一 定義 將物件組合成樹形結構以表示 部分整體 的層次結構。組合模式使得使用者對單個物件和使用具有一致性。二 結構 類圖 角色 1.component 是組合中的物件宣告介面,在適當的情況下,實現所有類共有介面的預設行為。宣告乙個介面...

java 開發模式之十一 組合模式

組合模式又叫做部分 整體模式 它使我們樹型結構的問題中 模糊了簡單元素和複雜元素的概念 客戶程式可以向處理簡單元素一樣來處理複雜元素 從而使得客戶程式與複雜元素的內部結構解藕。component 為參加組合的物件宣告乙個公共介面 不管是組合還是葉結點 leaf 在組合中表示葉子結點物件 葉子結點沒有...

設計模式C 實現 組合模式

這個模式能夠建立乙個樹形結構,在同乙個結構中處理巢狀選單和選單項組。通過選單和項放在相同結構中,我們建立了乙個 整體 部分 層次結構,即由選單和選單項組成的物件樹。使用組合結構,我們能把相同的操作應用在組合和個別物件上。換句話說,在大多數情況下,我們可以忽略物件組合和個別物件之間的差別。為組合中的物...