java - 如何使一组用户定义的函数可用于许多其他类?

标签 java class function

我想开始说 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/

相关文章:

传递具有任意数量参数的任意函数的 C++ 函数

java - 枚举 Java/Groovy 集合的 n 项组合

Java 9 takeWhile 和 dropWhile 读取和跳过某些行

java - 数据库连接中断 EJB3

java - 使用java登录网站?

delphi - 如何创建 single 的动态数组作为类中的属性

php - class_exists with namespace 不工作 PHP 7.2

c++ - 为包装列表自定义迭代器

javascript - 我想知道学生数组中是否有某个名字,如果有则打印出true,如果没有则打印出false

php - 跨类的 PDO 对象