组合模式树形结构代码
时间: 2024-06-23 13:02:46 浏览: 84
组合模式,也称为部分-整体模式,是一种结构型设计模式,用于将一组相关的或相互依赖的对象封装在单独的对象中,使得它们可以被客户端以统一的方式对待,而无需关注它们具体的内部表示。在树形结构中,组合模式通常用于构建一个树状结构,其中每个节点既可以是一个简单的元素,也可以是另一个组合。
以下是一个简单的 Java 示例,使用组合模式实现一个树形结构(假设我们有一个抽象的 Component 类和具体实现的 Leaf 和 Composite 类):
```java
// 基础组件接口
interface Component {
void operation();
}
// 具体的叶子组件
class Leaf implements Component {
@Override
public void operation() {
// 叶子节点的行为
System.out.println("Leaf node performing an operation");
}
}
// 组合组件接口
interface Composite extends Component {
void add(Component component);
void remove(Component component);
List<Component> getChildren();
}
// 组合实现
class CompositeImpl implements Composite {
private List<Component> children;
@Override
public void operation() {
for (Component child : getChildren()) {
child.operation();
}
}
@Override
public void add(Component component) {
children.add(component);
}
@Override
public void remove(Component component) {
children.remove(component);
}
@Override
public List<Component> getChildren() {
return children;
}
}
// 使用组合模式
public class Main {
public static void main(String[] args) {
Composite root = new CompositeImpl();
root.add(new Leaf());
root.add(new CompositeImpl());
root.add(new Leaf());
root.operation(); // 输出所有节点的操作
}
}
阅读全文