麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

java設計模式之組合模式

2019-11-11 07:54:16
字體:
來源:轉載
供稿:網友

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

組合模式類圖: 這里寫圖片描述 Client:客戶使用Component接口操作組合中的對象。 Component:Component為組合中的所有對象定義一個接口,不管是組合還是節點,Component可以為add(),remove(),eachChild()實現一些默認的行為。 Leaf:葉節點沒有孩子。葉節點通過實現Composite支持的操作,定義了組合內元素的行為。 Composite:Composite的角色是要定義組件的行為,而這樣的組件具有子節點。

抽象類Component代碼實現:

public abstract class Component { String name; public Component(String name){ this.name = name; } public abstract void Add(Component component); public abstract void remove(Component component); public abstract void eachChild();}

Leaf類代碼實現:

public class Leaf extends Component{ public Leaf(String name) { super(name); // TODO Auto-generated constructor stub } @Override public void Add(Component component) { // TODO Auto-generated method stub } @Override public void remove(Component component) { // TODO Auto-generated method stub } @Override public void eachChild() { // TODO Auto-generated method stub System.out.Composite類代碼實現:

public class Composite extends Component{ ArrayList<Component> list = new ArrayList<Component>(); public Composite(String name) { super(name); // TODO Auto-generated constructor stub } @Override public void Add(Component component) { // TODO Auto-generated method stub list.add(component); } @Override public void remove(Component component) { // TODO Auto-generated method stub list.remove(component); } @Override public void eachChild() { // TODO Auto-generated method stub System.out.println("節點:"+name); for(Component component : list){ component.eachChild(); } }}

Client類代碼實現:

public class Client { public static void main(String[] args){ Component rootComposite = new Composite("根節點"); Component leftComposite = new Composite("左子節點"); Component rightComposite = new Composite("右子節點"); Component leftleaf1 = new Leaf("左葉節點1"); Component leftleaf2 = new Leaf("左葉節點2"); leftComposite.Add(leftleaf1); leftComposite.Add(leftleaf2); rootComposite.Add(leftComposite); rootComposite.Add(rightComposite); rootComposite.eachChild(); }}

運行結果:

節點:根節點節點:左子節點葉節點:左葉節點1葉節點:左葉節點2節點:右子節點
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美人与牲禽动交精品一区 | 毛片一级免费看 | 精国产品一区二区三区四季综 | 欧美亚洲国产日韩 | 国产精品视频一区二区噜噜 | 精品在线免费播放 | 欧美成年人在线视频 | 精品在线免费播放 | av在线试看 | 国产无遮挡一区二区三区毛片日本 | 精品国产一区二区三区久久久蜜月 | 日韩黄色免费在线观看 | 亚洲成年人免费网站 | 久久精品女人天堂av | 一级免费黄色免费片 | 毛片在线视频观看 | 在线播放亚洲精品 | 中文字幕在线播放视频 | 国产69精品久久久久久野外 | 精品一区二区三区中文字幕老牛 | 久久影库 | 亚洲情av | 911精品影院在线观看 | 亚洲成a人在线 | 激情视频免费看 | 欧美一级无毛 | 午夜啪视频 | 视频www | 日本视频在线免费观看 | 一区二区国产在线 | 中文字幕专区高清在线观看 | 成年人在线视频 | 国产精品一区二区免费在线观看 | 亚洲人成在线播放 | 男女羞羞视频在线免费观看 | 日本成人高清视频 | 毛片在线视频免费观看 | 一区二区三区在线观看免费 | chinesexxxx极品少妇 | 久久久久久久免费看 | 国产精品欧美久久久久一区二区 |