避免在 Java 中实例
在大学的某个阶段(随后在十几岁的地方读过),我被告知使用应该只作为“最后的手段”。考虑到这一点,任何人都可以判断我拥有的以下代码是否是最后的手段。我四处查看了堆栈溢出,但找不到类似的情况 - 也许我错过了它?instanceof
private void allocateUITweenManager() {
for(GameObject go:mGameObjects){
if (go instanceof GameGroup) ((GameGroup) go).setUITweenManager(mUITweenManager);
}
}
哪里
-
mGameObjects
是一个数组,其中只有一部分是类型GameGroup
-
GameGroup
是抽象类 的子类。GameObject
-
GameGroup
使用具有方法的接口UITweenable
setUITweenManager()
-
GameObject
不使用接口UITweenable
我想我可以同样(并且可能应该)在上面的代码中替换 - 我会问同样的问题。GameGroup
UITweenable
有没有另一种方法可以避免?因此,这段代码不会失败(我认为,对吧?),但是鉴于负面新闻似乎得到了,我是否在我在这里使用的某个地方犯了OOP的一些主要罪行?instanceof
instanceof
instanceof
提前致谢!