所以我有一个叫做board的类数组。
有一些子类如Bishop和Knight以及Rook等......
数组如下所示:
Piece[,] board = new Piece[8,8];
board[0,0] = new Bishop(constructor stuff);
board[0,1] = new Rook(constructor stuff);
等...
每当我初始化Bishop / Knight / Rook的新实例时,我希望它拥有它自己的阵列,所以我可以做 以下内容:
board[0,0].array[0] = ect...
我该怎么做?
答案 0 :(得分:0)
您的Piece类需要为其中定义的数组提供字段或属性。
public abstract class Piece
{
public Something[] array = new Something[ARRAY_SIZE];
...
}
请考虑这是否真的是一个好的设计。
答案 1 :(得分:-1)
将数组添加到Piece
类。所有子类都可以访问它。
class Piece
{
public int[] array = new int[100]; // or whatever
// rest of class definition
}
答案 2 :(得分:-1)
将一个变量添加到名为array的类中,这是一个数组吗?
实施例
public class Bishop : Piece
{
// ...
public T[] array;
public Bishop()
: base()
{
// Initialize array
}
}
其中T是数组的类型。
如果数组类型可能不同,您可以使类通用。
public class Bishop<T> : Piece
然后将其初始化为:
board[0,0] = new Bishop<int>(); // array is int[]
我建议你真正学习语言的基础知识。