java設計模式之組合模式

2021-07-26 14:35:29 字數 1600 閱讀 5619

組合模式:允許你將物件組合成樹形結構來表現「整體/部分」層次結構。組合能讓客戶以一致的方式處理個別物件以及物件組合。

組合模式類圖:

client:客戶使用component介面操作組合中的物件。

component:component為組合中的所有物件定義乙個介面,不管是組合還是節點,component可以為add(),remove(),eachchild()實現一些預設的行為。

leaf:葉節點沒有孩子。葉節點通過實現composite支援的操作,定義了組合內元素的行為。

composite:composite的角色是要定義元件的行為,而這樣的元件具有子節點。

抽象類component**實現:

public

abstract

class component

public

abstract

void

add(component component);

public

abstract

void

remove(component component);

public

abstract

void

eachchild();

}

leaf類**實現:

public

class

leaf

extends

component

@override

public

void

add(component component)

@override

public

void

remove(component component)

@override

public

void

eachchild()

}

composite類**實現:

public

class

composite

extends

component

@override

public

void

add(component component)

@override

public

void

remove(component component)

@override

public

void

eachchild() }}

client類**實現:

public

class client

}

執行結果:

節點:根節點

節點:左子節點

葉節點:左葉節點1

葉節點:左葉節點2

節點:右子節點

java設計模式之組合模式

一 組合模式簡介 組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構。composite使得使用者對單個物件和組合物件的使用具有一致性。有時候又叫做部分 整體模式,它使我們樹型結構的問題中,模糊了簡單元素和複雜元素的概念,客戶程式可以向處理簡單元素一樣來處理複雜元素,從而使得客戶程式與複雜...

《Java設計模式之組合模式》

組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。新增節點 public abstract void add component c 刪除節點 public abstract void remove component c 顯示節點...

Java設計模式之組合模式

介紹 我們的計算機都擁有檔案系統,資料夾裡面既可以放入檔案,也可以放入子資料夾。在子資料夾中,一樣地既可以放入檔案,也可以放入子資料夾。檔案系統是一種容器結構 遞迴結構。組合模式就是用於創造出這樣的結構的模式。組合模式又叫部分整體模式,用於把一組相似的物件當做乙個單一的物件,它將物件組合成樹形結構以...