这是我的场景。我有以下对象;
public class MyTemplate{
private MyTemplate[]childTemplates;
}
现在在同一个类中,我有一个数组来保存同一个对象的子元素,在这种情况下是一个模板。我需要的是能够遍历每个元素和这些元素中的元素,因为这可以像一个树结构。目前我想不出一种方法可以覆盖元素中的每个子元素。
感谢是否有人可以指导我正确的方向。
像这样?
public class MyTemplate
{
private MyTemplate[] childTemplates;
void iterate()
{
// do something with this
for (MyTemplate template: childTemplates)
template.iterate();
}
}
尝试这个:
public traverse() {
if(children == null || children.size == 0) {
return;
}
for(i = 0; i < children.size; i++) {
children[i].doSomething();
children[i].traverse();
}
}
您还可以对每个模板执行一个过程:
public class MyTemplate
{
private MyTemplate[] childTemplates;
void iterate()
{
preProcess();
for (MyTemplate template: childTemplates)
template.iterate();
postProcess();
}
void preProcess()
{
// do something before iterating through the children
}
void postProcess()
{
// do something afterwards
}
}