gpt4 book ai didi

Java:从遥远的对象访问方法的最佳方式

转载 作者:搜寻专家 更新时间:2023-10-31 20:10:48 24 4
gpt4 key购买 nike

我目前正在处理我的第一个大型 Java 项目(一个游戏),我已经遇到了一些组织问题,只有几个(~40)个类。
我正在这样组织我的游戏:

Project Organisation Model

这对我来说似乎很有条理,因为每个较小的类(class)都被归类到较大的类(class)中。显然像 ObjectHandlerModel 这样的类将包含更多的类,否则它们将毫无用处。

现在我的问题是:当我尝试从 GUI 中的 DynamicObjects 访问当前的 PlayerSettings 时(例如,当我我试图获取玩家的位置以便将其绘制在 Canvas 上),我必须创建一条像这样的长路径:

int x = gui.engine.model.objHandler.player.playerSettings.getX();

(为此,我将大部分参数设置为 public。我也可以使用 get() 方法访问它们,但这对我来说似乎更加杂乱无章)

我的问题是 - 这看起来正常吗?有没有更好的方法来解决这个组织问题?

最佳答案

简短的回答是 - 不,您不希望出现必须取消引用六个对象才能获得所需数据的情况。

这可能意味着您将数据和功能分解为类的方式有问题。您通常希望将必须相互交谈的对象组合在一起。

一个实用的建议是您的对象不必形成一棵树。 DynamicObjects 持有对 PlayerSettings 的引用可能是有意义的。这只是一个示例:我不知道在您的应用程序中什么有意义,我只是想指出您不必将对象关系视为树。

关于 get 方法与公共(public)成员:将私有(private)变量与 getter 和 setter 一起使用是 Java 约定。它与可维护性和更改功能中的实现有关。即使这不能说服您,我认为获得 Java 编码中常见的样式标准也是一件好事。

关于Java:从遥远的对象访问方法的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30040548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com