java - 来自java中不同类的对象矩阵

标签 java arrays object matrix

我正在创建一个开放世界游戏,其中每个“地方”都由“子地方”组成 例如,我有一个 Farm.java 类,它以图形方式表示为一个子位置矩阵:房子、池塘、花园和田地,用户可以通过它“移动”矩阵并与不同的地方互动。

因此,在 Farm 对象中,我想要一个包含房屋对象、池塘对象、花园对象和田地对象(所有不同类)的子位置矩阵/数组。我想执行以下操作:

SubPlace[][] map = new SubPlace[1][1]

但我不能这样做,因为没有实际的 SubPlace.java 类,而且我不确定如何将这些不同的对象放入同一个矩阵中。

我希望矩阵看起来像这样:

map[0][0]= new House();
map[0][1]= new Pond();
map[1][0]= new Field();
map[1][1]= new Garden();

当这些都是不同的类时,我该怎么做?他们是否需要扩展/继承/或来自公共(public) SubPlace 类的某些东西?或者是否有另一种方法可以将所有这些对象推送到矩阵中?

最佳答案

使用继承 -

class Place {}
class Farm extends Place {}
class Pond extends Place {}
class House extends Place{} etc...

Place[][] map = new Place[1][1];
map[0][0] = new Farm();

关于java - 来自java中不同类的对象矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31060797/

相关文章:

java - 为什么我将 List 和 Node 类分开?

javascript - 如何确定对象中的任何数组是否有条目

javascript - 如何用另一个数组扩展现有的 js 数组?

php - 在 PHP 中创建和使用匿名对象

java - 重写 for 循环以包含任何类型的对象

java - 如何将字符串中的 � 字符替换为 ","?

java - 如何提取 Object[] 并使用准备好的语句 setObject() 将其放入查询中?

c++ - 对象与实例的区别 : C++

java - 如何获取使用 Intent.ACTION_OPEN_DOCUMENT 选择的文件的文件扩展名?

c++ - 交换数组中的 2 个项目,但不通过引用传递它