我有一个班级Occupant
,extended Occupant classes
针对不同的居住者类型,例如Animal、Food、Tools、Treasure。
所有住户都放在上面GridSquares
,A Square 最多可容纳3 位住户。
Occupant 类有一个方法可以在给定位置时获取 GridSqure 上的所有 Occupants。该方法将返回一个具有扩展占用者类的占用者数组。(例如:动物、工具和食物)。
Occupant[] allOccupants = newGridSquare.getOccupants();
for ( Occupant oneOccupant : allOccupants)
{
if(oneOccupant.getStringRepresentation() == "A")
{
player.reduceStamina(oneOccupant.getDanger());
}
}
编译器无法访问getDanger
Animal 类中的方法,因为我已经将它分配为 Occupant。
如何在扩展的 Occupant 类Animal中访问 getDanger 方法?