我正在努力将访问者和 Java 中的复合模式结合起来。
我有一个 Composite 的 Element 接口。它只有accept方法。
我有一个抽象类 Composite 来处理子管理功能(添加、删除和 getChild)。我想在 compiste 类中定义 acccept 方法,以避免在每个子类中都这样做。有没有办法做到这一点?
public abstract class Composite implements Element {
protected List<Element> elements;
public Composite() {
elements = new ArrayList<Element>();
}
public void add(Element e) {
elements.add(e);
}
public void remove(Element e) {
elements.remove(e);
}
public Element getChild(int i) {
return elements.get(i);
}
}