组合模式是一种结构设计模式,它允许我们将对象组合成树状结构以表示部分-整体的层次关系。这种模式用于处理整体和部分的层次结构,使得客户端可以统一地对待单个对象和对象组合。
在组合模式中,存在两种基本类型的对象:叶节点和组合节点。叶节点表示树结构中的最底层对象,它们没有子节点。而组合节点可以包含叶节点和其他组合节点作为子节点。
通过使用组合模式,我们可以以统一的方式处理单个对象和对象组合,不需要区分它们之间的差异,从而简化了客户端的代码。
下面是一个示例,展示了如何使用组合模式来构建可组合的对象结构。
// 抽象组件类
abstract class Component {
protected String name;
public