【问题标题】:Classes linked with other classes与其他类链接的类
【发布时间】:2012-09-12 13:29:49
【问题描述】:

我必须为我的软件开发课程创建一个游戏,并且我试图弄清楚如何将我的课程链接在一起以更新例如当我转到不同屏幕时玩家的健康状况。 我创建了一个包含玩家所需的所有方法和变量的类播放器,例如,健康、船、名称,但是说我在游戏中打架,我怎么能不断更新健康,因为每次我必须去一个新屏幕,我必须继续创建一个新的播放器实例。

还有什么其他方法可以解决这个问题,使其更加面向 OO?

谢谢!!

【问题讨论】:

  • 您可以获得很多不同的答案,但您需要查看一些 SE 概念。松散耦合,依赖注入等。这取决于你。没有正确或错误的答案。

标签: java class object screen-orientation


【解决方案1】:

为这样的事情使用事件。想象有一个中心位置,所有事件都被发送以进行分发。然后,您的游戏组件可以为某些事件注册侦听器。事件示例:

当有人更新玩家健康时,玩家实例会发送一个带有新值的事件“Health changed”。

“显示健康”组件可以侦听此类事件并相应地更新自身。

这种方法的美妙之处在于,健康组件不需要了解玩家的任何信息。它只是响应“Health(int)”事件。

【讨论】:

    【解决方案2】:

    您可能希望考虑使用现有的设计模式来帮助解决您的问题。例如,单例对象可能是您的最佳选择

    http://en.wikipedia.org/wiki/Singleton_pattern

    【讨论】:

    • -1 抱歉,单例模式很少是一个好的解决方案 :-)
    猜你喜欢
    • 2013-04-05
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 2016-05-30
    相关资源
    最近更新 更多