我是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中将其抽象。

09-05 00:03