我想开始说 Stack Overflow 提供了巨大的帮助,只是通过查找其他人的问题,但对于这个问题,我很难找到解决方案,因为很难用一个问题来表达。
我正在用 Java 制作一款 2D 平台透视射击游戏,因此我有一组创建子弹的函数。示例:
public void CreateShot01(x, y, angle, velocity, bulletID, delay){
/*...will do a bunch of stuff ultimately creating a object in the Projectiles[]
array, which will be drawn on screen from the Board Object/Class*/
}
那个函数里面的东西不是问题。我想让这个和其他类似的功能可供多个类(class)使用,基本上适用于任何需要拍摄的类(class)。我不想将此函数复制粘贴到每个使用它的类中。所以我将所有功能放在一个单独的类 BulletHandler 中会有所帮助,这将是标准的。
但是我如何从所有需要它们的类中引用这些函数。我不确定要使用的是:
-导入?似乎是最合乎逻辑的解决方案,但您如何导入自己的东西?
-扩展? AFAIK,这涉及父类(super class)和覆盖函数,不是我需要的
解决此问题的最佳方法是什么?
我不确定要提供什么信息,所以如果需要添加任何内容,请提出来,我会立即进行。
最佳答案
尝试将您的对象映射到物理现实。射击的所有东西也许应该继承自一个抽象类,比如 AbstractGun,它应该封装瞄准、射击、加载等背后的基本思想。因此这部分可以通过继承来解决。那么如果一个角色需要开枪的话,他就需要获得一个类似枪支的物体。因此,这部分问题可以通过组合来解决——射击者不是从 AbstractGun 派生的(他不满足“is-a”关系),而是必须拥有一个继承自 AbstractGun 的对象,从而满足“has” -a”枪支关系。
关于java - 如何使一组用户定义的函数可用于许多其他类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513486/