0

我已经声明了一个存储 Square 类型对象的数组,如下所示:

Square[][] square_array = new Square[15][15];

我也有一门课叫 Ball。

是否可以将 Ball 对象存储在 square_array 中?如果是这样,我将如何去做?

干杯

4

2 回答 2

0

除了vk关于扩展通用对象类的回答(这使得从数组中迭代显示更容易),您还可以考虑使用接受任意数量不同类型对象的 ArrayList:

Sq sq = new Sq();
Ba ba = new Ba();
ArrayList sqAndBa = new ArrayList();

void setup() {
sqAndBa.add(sq);
sqAndBa.add(ba);

void draw() {
// now iterate through your ArrayList and display your objects:
for (int i = 0; sqAndBa.size(); i++) {
    Ob ob = (Ob) sqAndBa.get(i);
    ob.display();

class Ob {
    // construction and display methods common to both
}

class Sq extends Ob {
    // construction or display methods particular to squares
    return sq;
}

class Ba extends Ob {
    // construction and display methods particular to circles
    return ba;
}
于 2013-06-01T10:26:17.853 回答
0

也许创建一个对象类并有正方形和球来扩展它,而不是你可以创建一个可以包含两者的对象数组......虽然继承接缝是旧时尚......

Sq sq = new Sq();
Ba ba = new Ba();
Ob[] sqAndBa = new Ob[2];

void setup() {
  sqAndBa[0] = sq; 
  sqAndBa[1] = ba;
  println(sqAndBa);
}


class Ob {
}

class Sq extends Ob {
  String toString() {
    return("I'm a square");
  }
}

class Ba extends Ob {
  String toString() {
    return("I'm a ball");
  }
}
于 2013-05-31T15:34:12.630 回答