【发布时间】:2016-05-21 23:32:00
【问题描述】:
我正在学习 Java,我正在制作游戏,目前,我正在编写一些字符类,我将拥有类似的东西
(Abstract)Character
^ ^
| |
PlayableChar. EnemyChar.
箭头表示继承的地方(可能有更多的类/子类)。
来自 C,定义一个充满常量的接口/不可实例化类 (MAX_HP_PLAYER, MAX_ATTACK,...) 感觉很自然,因为我需要在很多地方使用这些常量,可能不仅仅是在类中在字符层次结构下。但是,我在这里和很多地方都读到这并不是真正的好做法,而且我还没有找到在这种情况下推荐的解决方案。
有人可以帮我吗?谢谢!
【问题讨论】:
-
您可以让它们成为
public在它们关联的类下。其他类仍然可以访问它们,但它们将位于合乎逻辑的位置。 -
像
MAX_HP_PLAYER这样的东西应该是Player类的一部分MAX_HP你不觉得吗?为什么要使用单独的类? -
从 oo 的角度来看,您希望尝试在应该使用它们的上下文中定义常量,因此您可能有一个 Charater 接口,它还定义了与字符关联的常量特别是,但是当您充实层次结构时,您可以根据需要向子接口添加新常量,例如
标签: java