组合模式的作用:将对象组合成树状层次结构,使用户对单个对象和组合对象具有一致的访问性。
JDK 的 AWT(Abstract Window Toolkit),使用了组合模式。AWT 中包含了两种组件:容器组件和基本组件。
Container 类中包含了很多基本组件或容器,放在 ArrayList 中
public class Container extends Component {
private java.util.List<Component> component = new ArrayList<>();
//向容器类中添加基本组件或容器
public Component add(Component comp) {
addImpl(comp, null, -1);
return comp;
}
}
基本组件与容器组件,构成了树状结构。由于都是 Component 的子孙类,对 Component 定义的方法,访问上具有一致性
ConstXiong 备案号:苏ICP备16009629号-3