例如
,节点的类型为 A
、 B
和 C
。
这些节点中的每一个都是不同数量的子节点。 A
可以有 2 个孩子,B
可以有 3 个孩子,依此类推。现在,A
是否会提到B
或C
还不清楚先验的。
如何为n
节点执行此操作,其中每个节点都是不同类的对象,并且可以引用任何n-1
节点?
可以创建一个 Node 类,并在构造函数中传递子节点的限制。
class Node implements iNode
{
private List<iNode> childNodes;
private int maxChildren;
...
public Node(int maxChildren)
{
this.maxChildren = maxChildren;
this.childNodes = new ArrayList<iNode>();
}
public void addChildNode(iNode child) throws SomeCustomException
{
if (childNodes.size() < maxChildren) {
childNodes.add(child);
} else {
throw new SomeCustomException();
}
}
}