Java 有时候我不';我不知道某些方法属于哪个类。我做错了什么?
假设有一个简单的游戏,我有一个名为Java 有时候我不';我不知道某些方法属于哪个类。我做错了什么?,java,c#,class,refactoring,Java,C#,Class,Refactoring,假设有一个简单的游戏,我有一个名为Player的类,它保存了玩家应该拥有的所有信息,例如name,xPosition,yPosition,width,height,等等 Player类还具有与之相关联的方法,这些方法描述了Player可以做什么,例如move(),draw(),等等 在游戏中,我需要能够知道玩家何时与游戏中的任何其他物体碰撞,如墙、天花板或其他世界物体 我可以从两个方面着手: 创建一个类,比如CollisionDetecter,它有一个方法,比如detectCollision()
Player
的类,它保存了玩家应该拥有的所有信息,例如name
,xPosition
,yPosition
,width
,height
,等等
Player
类还具有与之相关联的方法,这些方法描述了Player
可以做什么,例如move()
,draw()
,等等
在游戏中,我需要能够知道玩家
何时与游戏中的任何其他物体碰撞,如墙、天花板或其他世界物体
我可以从两个方面着手:
创建一个类,比如CollisionDetecter
,它有一个方法,比如detectCollision()
。在Player
类中包含该类的实例,并在适当时调用detectCollision()
方法
理由:
- 检测碰撞并不像
、xPosition
或yPosition
那样是name
播放器的固有属性,因此它不属于此类
类中的混乱更少。(这算吗?)播放器
Player
类中创建一个类似detectCollision()
的方法,该方法检查Player
是否命中了任何对象
理由:
- 检测碰撞是
所做的事情,因此Player
方法应该直接在detectCollision()
类中Player
- 只有玩家需要能够检测碰撞,那么为什么我要用一个方法创建另一个完整的类呢?为什么不把它作为一个方法包含在
类中呢Player