gpt4 book ai didi

java - 存储程序中大多数类使用的数据的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 12:21:23 25 4
gpt4 key购买 nike

为了解释一下,我正在使用 Swing 在 Java 中创建一个简单的游戏。我的很多类都需要使用 JFrame 的大小。起初我只是创建了一个父类(super class)来包含变量,但我被迫找到一些不同的东西,因为Java只允许你扩展一次,而且我需要出于不同的原因使用父类(super class)。如果这是有道理的话。

我在内存中存储相同信息的多个实例。

变量例如:

JFrame 高度和宽度(以像素和图 block 为单位)

以像素和图 block 为单位的 map 高度和宽度

“平铺”高度和宽度

这里有一些代码可以更好地描绘图片:

    protected static int SCREEN_WIDTH = 928;//Pixels
protected static int SCREEN_HEIGHT = 672;//Pixels
protected static int TILE_WIDTH = 32;//Pixels
protected static int TILE_HEIGHT = 32;//Pixels
protected int MAP_WIDTH = 1280;//Pixels
protected int MAP_HEIGHT = 1280;//Pixels
protected int MAP_WIDTHtile = MAP_WIDTH / TILE_WIDTH;
protected int MAP_HEIGHTtile = MAP_HEIGHT / TILE_HEIGHT;
protected static int XTILES = SCREEN_WIDTH / TILE_WIDTH;//how many tiles can fit on display x axis;
protected static int YTILES = SCREEN_HEIGHT / TILE_HEIGHT;//how many tiles can fit on display y axis;
protected ArrayList<BufferedImage> images;
protected ArrayList<ArrayList<Integer>> displayArray2;
protected ArrayList<ArrayList<Integer>> mapGlobal2;
protected static int xIndex = 0;
protected static int yIndex = 0;

在我的整个程序中,几乎所有这些变量都需要多个类。结果我多次宣布这一点。我情不自禁地认为我的实现方式非常糟糕,必须有更好的方法来做到这一点。我还觉得将所有这些信息作为参数传递给类构造函数并不是最好的途径。

最佳答案

仅为这些变量创建一个类,实例化一次并将其传递到您的代码中。

如果只有一个实例,请将其设为静态。

您甚至可以开始添加方法以便更好地操作数据..;-)

关于java - 存储程序中大多数类使用的数据的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26645783/

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