我正在实现一个游戏,我有一些类,比如:
GameObject (Abstract)
CircularGameObject
RectangularGameObject
它们基本上存储位置 (x,y) 和用于检查碰撞的不同形状。
现在我想实现类墙(矩形)和炸弹(圆形)。两者都可以启用或禁用,所以我声明
public interface Activable {
public void setEnabled(boolean status);
public boolean isEnabled();
}
而且我有一个列表用于存储对在碰撞中杀死玩家的物品(墙壁和炸弹)的引用。如何声明扩展 GameObject 并实现 Activable 的对象的 ArrayList?
我尝试声明一个类:
public class ActivableGameObject extends GameObject implements Activable{};
但编译器不允许为该引用分配例如炸弹(因为是一个 CircularGameObject)