跟進earlier SO question,現在我想將Fruit
收集到一個籃子中,但知道子類型的出路。如何維護Chapel數組中的對象的子類型
class Banana : Fruit {
var color: string;
}
class Apple: Fruit {
var poison: bool;
}
class Fruit {
}
var a = new Apple(poison=true);
var b = new Banana(color="green");
if (a.type == Apple) {
writeln("Go away doctor!");
}
var basketDom = {1..1};
var basket: [basketDom] Fruit;
basket.push_back(a);
basket.push_back(b);
for b in basket {
writeln(b.type:string);
}
這將打印超類型Fruit
。我如何從這個籃子中獲得Apples
和Bananas
?
我不知道小教堂,但看起來像a和b在進入籃子之前正在投給水果。你似乎想要更多的東西,而不是繼承Fruit。 –