我是Java的新手,正在尝试构建运行国际象棋游戏的逻辑。我有一个名为“ Piece”的超类,以及国王,骑士,皇后等的子类。我试图实现一个move方法,在此方法中确定飞行中的棋子类型,然后调用该棋子的相应move方法。例如:
int typeOfPiece = _board[startX][startY]._theKind;
Piece myPiece;
switch(typeOfPiece)
{
case 1:
myPiece = new Pawn(startX, startY, team);
case 2:
myPiece = new Rook(startX, startY, team);
case 3:
myPiece = new Knight(startX, startY, team);
}
boolean myPiece.canMove(endX, endY);
有没有一种方法可以确保在此示例中,canMove方法将由正确的片段类型调用?
谢谢
最佳答案
在所有子类中覆盖canMove
,并在父类Piece
中将其抽象。