Итак, я делаю игру в LWJGL 2, и мой проект состоит из 4 классов (Entity, AliveEntity, Player, Tree). Я хочу, чтобы мои сущности (например, деревья, папоротники, некоторые предметы) расширяли класс сущностей, а игрок одновременно расширял сущность и AliveEntity, чтобы у игрока было hp, скорость, экипировка и т. Д. Итак, теперь это выглядит так:
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
}
Правильный ли мой подход? Если нет, то можете ли вы сказать мне, как лучше всего это сделать? Я думал об интерфейсах, но я не большой их поклонник ...