标签:getc 父类 getch end get static 管理 树形菜单 注意
组合模式又叫合成模式,有时又叫整体-部分模式,主要用来描述整体和部分的关系,其定义为:将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
先说说组合模式的几个角色:
下面看一个通用代码示例:
//抽象构件 public abstract class Component{ //个体和整体都具有的共享 public void doSomething(){ } } //树枝构件,也是组合模式的重点 public class Composite extends Component{ //构件容器 private ArrayList<Component> componentArrayList = new ArrayList(); //增加一个叶子构件或树枝构件 public void add(Component conponent){ this.componentArrayList.add(conponent); } //删除一个叶子构件或树枝构件 public void remove(Component conponent){ this.componentArrayList.remove(conponent); } //获得分支下的所有叶子构件或树枝构件 public ArrayList<Component> getChild(){ return this.componentArrayList; } } //树叶构件 public class Leaf extends Component{ //可以选择性覆写父类方法 public void doSomething(){ } } //场景类 public class Client{ public static void main(String[] args){ Composite root = new Composite(); root.doSomething(); Composite branch = new Composite(); Leaf leaf = new Leaf(); //建立整体 root.add(branch); branch.add(leaf); } }
组合模式的优点:
组合模式的缺点:
使用场景:
注意事项:
只要是树形结构,就要考虑使用组合模式,只要是体现局部和整体关系的时候,而且关系还比较深,就要考虑使用组合模式。
标签:getc 父类 getch end get static 管理 树形菜单 注意
原文地址:https://www.cnblogs.com/loveBolin/p/9739263.html