【发布时间】:2019-12-05 15:36:35
【问题描述】:
我目前正在制作一个视频游戏(作业),我遇到的问题如下:
玩家可以垂直和水平移动,但其他一些物体只能垂直或水平移动。我希望有一个抽象类“HorizontalMovingObject”和“VerticalMovingObject”,并有一个扩展这两个类的抽象类“MovingObject”。我想知道是否有解决方法?
我目前有这些抽象类,但发现自己不断地将代码从一维移动类复制到常规移动类。我尝试了几件事,但不知何故都觉得不对劲。我通过一维移动部件的接口工作,但是有一个默认的底层行为应该扩展到所有沿该方向移动的对象,因此一遍又一遍地编写这些感觉是错误的。我尝试了相反的方法,例如,水平类扩展了 MovingObject 类,但它的所有垂直分量都设置为 0,不知何故感觉更糟。
我知道这似乎不是一个非常重要的细节,但不知为何它让我发疯了。主要是因为我来自 C++。
感谢任何帮助!
【问题讨论】:
标签: java inheritance interface multiple-inheritance