我正在设计一款游戏,我对自己正在做的事情有很好的了解。
但是我一直在努力提高我的 OOP 技能,但时不时会遇到同样的问题,我应该如何使用抽象对象?
假设我有一个实体列表,它代表屏幕上具有 x 和 y 属性的任何东西,并且宽度和高度可能还没有完全弄清楚!
然后我有特殊类型的实体,一种可以移动,一种不能移动,将来可能会发生碰撞。
它们都在实体的集合中(List<Entity>
在我的情况下),现在我想模拟移动的实体并且是主循环上 DynamicEntity 的实例,但它们都在实体的抽象列表中,我不知道是实体在循环中动态实体与否。
我知道我可以检查一下,instanceof
但我很确定这不是最好的主意..
我见过一些人在实体中使用类似布尔值来检查它的类型,但我真的不想在那里硬编码所有类型的实体。
我只想知道在这种情况下最好的做法是什么?