我正在用Java进行蛇游戏,我遇到了以下问题:
我想尽可能地通用,所以我创建了一个Board接口,后来由GameBoard实现;以及后来由Snake,Wall,FoodPackage实现的BoardObject界面。 在BoardObject接口中有一个抽象方法generateObject(Board b),它用于在特定的板上生成一个对象。 但是当我实现它时,我希望它是generateObject(GameBoard b)。我怎么能这样做?我想它不会被这种方式覆盖,所以我想这个escamotage:
generateObject(Board b){
generateObject( (GameBoard) b);
}
,其中
generateObject(GameBoard b){
// this will do the real thing
}
但我不确定这是正确的做法,因为它可能会以某种方式给我错误(例如,如果我用另一个类实现Board,比如GameBoardTwo,并通过GameBoardTwo通过该方法,可能会发生什么?)
我真的希望你能帮助我。