Все виды коробок унаследованы от
Box и могут содержать в себе вещь наследованную от
Item.
Правильно ли объявлять в каждом подклассе
Box одну и туже переменную (
itemInside), но с разным типом данных?

Код AS3:
class BoxForToys extends Box{
public var itemInside:Toy;
public function BoxForToys ():void {
itemInside= new Toy();//Toy наследован от Item
}
}

Код AS3:
class BoxForApples extends Box{
public var itemInside:Apple;
public function BoxForApples ():void {
itemInside= new Apple();//Apple наследован от Item
}
}