所以我正在用LWJGL 2制作游戏,我的项目有4个类(Entity,AliveEntity,Player,Tree)。我希望我的实体(例如树木,蕨类植物,某些物品)能够扩展Entity类,玩家希望同时扩展Entity和AliveEntity,以便玩家可以拥有马力,速度,装备等。所以现在看起来像这样:
public class Entity{
public Entity(){ }
public void methodForEveryEntity(){ }
}
public class AliveEntity extends Entity{
public AliveEntity(){ super(); }
public void methodForOnlyLivingEntities(){ }
}
public class Player extends AliveEntity{
public Player(){ super(); }
//it can use methods from AliveEntity and Entity classes
}
public class Tree extends Entity{
public Tree(){ super(); }
//only methods from Entity class
}
我的方法正确吗?如果否,那么您能告诉我最好的方法是什么吗?我考虑过接口,但我不怎么喜欢它们……
答案 0 :(得分:0)
据我所知,扩展时似乎是正确的。每当需要时,我都喜欢以层次结构的方式来考虑它。延伸跟随吗? 树和 AliveEntity 都是实体的一部分,播放器是 AliveEntity 的一部分>尽管不是 Tree 的一部分,所以它仅扩展到 AliveEntity 。希望这会有所帮助。