假设您有一组对象,它们排列在一个层次结构中。也就是说,有一个包含所有对象的对象,那么这个对象指的是同一类型的几个对象,但是在较低的层次上,并且这些对象中的每一个都指向同一类型的几个对象,而较低级别的对象,以此类推可变数量的步骤。例如,让我们考虑这些对象是政府,所以最高级别是全球性的,那么全球会有国家和部落,国家会有城镇,城镇会有房子和企业等等。所有这些政府都推广了政府抽象类,所以它们都有相同的类型。通用嵌套for循环
我需要遍历整个层次结构中的所有对象,但因为我不知道运行时的完整结构,所以我必须以广义的方式来完成。我只知道确实存在一个全球性的政府,然后我必须检查哪些子政府必须进行。
我发现这样做的一种方法是给超类一个名为getSubGovs()的函数,它返回所有子政府的列表,以及这些子政府每个从getSubGovs()返回的内容。我希望这是有道理的。这是一个很好的方式来解决这个问题。
我正在寻找的是一种方法来做到这一点,而不必添加一个函数到超类,在我正在处理一个API的情况下,不能修改超类。什么将是一个优雅的方式来做到这一点?
是否要对结构中的所有对象执行通用操作?如果是这样,什么类型的操作?如果不是,你为什么要迭代它? – Bohemian