{
Ship ships = new Ship();
CargoShip cargoShips = new CargoShip();
CruiseShip cruiseShips = new CruiseShip();
Ship[] allShips = {ships, cargoShips, cruiseShips};
allShips[0].setShipName("Boom");
allShips[0].setYearBuilt("1900");
allShips[1].setShipName("Bang");
allShips[1].setCargoCapaicty(200);
allShips[2].setShipName("Bam");
allShips[2].setMaxPassengers(500);
for (int i = 0; i < allShips.length; i++)
{
System.out.println(allShips[i]);
}
}
Таким образом, класс корабля является суперклассом, а CargoShip и CruiseShip расширяют класс корабля. Я сохранил 3 объекта в массиве Ship. setCargoCapacity и setMaxPassengers - это методы, которые появляются только в подклассах. По какой-то причине я не могу получить к ним доступ. Я не могу понять, как это сделать, чтобы я мог также получить доступ к методам подкласса.Как вызвать методы подкласса, когда объекты подкласса хранятся в массиве суперкласса?