Я пытаюсь смоделировать концепцию ООП в машинописи. Я из происхождения Java. Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь создать настольную игру. У меня есть Celltypes, такие как Hotel, Jail, Treasure и так далее. Все они имеют общий атрибут, называемый количеством типа номера. Поэтому я создал интерфейс CellType и реализовал его для отдельных классов, упомянутых выше (Hotel, Treasure и т. Д.)
Есть класс Board, в котором я хочу инициализировать и объявить массив предопределенных типов ячеек. Примерно так:
var cell [: CellType]; // объявление
Отель = новый отель (200);
cell = [Hotel1, Treasure1, Jail1, Hotel2 ..] // инициализация
В Java мы можем сделать:
interface CellType{ public integer amount};
class Hotel implements CellType;
class Jail implements Celltype;
// in main class
ArrayList<CellType> cellTypes = new ArrayList<CellType>;
Hotel Taj = new Hotel();
cellTypes.add(Taj);
Jail jail = new Jail();
cellTypes.add(jail);
Итак, как я могу объявить массив из нескольких дочерних классов, которые наследуют один и тот же суперкласс, как мы это делаем в Java?