我有一些扩展抽象类的类。这些课程中的每一个都可以在“套装”中返回。通过项目中其他地方的方法。
public abstract class AbstractBuilding{
....
}
public class ABuilding extends AbstractBuilding{
....
}
在另一堂课:
World world = worldManager.getWorld();
for (AbstractBuilding building : world.getBuildings()){
if (building.toString().contains("SomeSequence")){
//Do Something
}
}
world.getBuildings()
返回所有抽象建筑物/类的集合。
由于设计更改,ABuilding
现在除了扩展原始AbstractBuilding
之外,现在还是一个抽象类。还有更多类来自ABuilding
。
注意:我还有其他常规类,它们像以前一样扩展AbstractBuilding - ABuilding2
public abstract class AbstractBuilding{
....
}
public class ABuilding2 extends AbstractBuilding{
....
}
public abstract class ABuilding extends AbstractBuilding{
....
}
public class TheBuilding extends ABuilding{
....
}
当我现在调用world.getBuildings
方法时,我仍然可以获得所有抽象建筑物的集合,其中包括TheBuilding
等建筑物,因为它延伸ABuilding
,它本身延伸AbstractBuilding
}。
是否有某种方法可以确定返回的建筑物中的建筑物是否从这个新的抽象建筑物延伸出来?