我正在尝试将此图转换为 java 代码,只是为了了解一些可以提出的设计问题。
例如 Piecetype 枚举我会写成
public enum PieceType{
pawn, king, queen, rook, bishop, knight
}
我想知道是否有人可以提供有关如何将类图转换为 java 代码的指导,只需从字面上获取图中显示的类之一并编写 java 中提到的属性和方法。
我大部分时间都很难弄清楚+和-。
我正在尝试将此图转换为 java 代码,只是为了了解一些可以提出的设计问题。
例如 Piecetype 枚举我会写成
public enum PieceType{
pawn, king, queen, rook, bishop, knight
}
我想知道是否有人可以提供有关如何将类图转换为 java 代码的指导,只需从字面上获取图中显示的类之一并编写 java 中提到的属性和方法。
我大部分时间都很难弄清楚+和-。
首先,在尝试用 Java 实现类图之前,您应该学习如何正确阅读类图。+
和-
定义类成员(例如字段或方法)的可见性。A+
表示公共可见类成员,而 a-
表示私有成员,即只能从定义它的类访问。
转换为 Java 类 ( Game
) 的示例:
public class Game {
private List<Move> playedMoves;
private PieceColor turn;
private Players[] players;
private Result result;
private CheckStatus checkStatus;
public Game() {
playedMoves = new ArrayList<Move>(); // create empty list
// TODO initialize other fields properly
}
public void addMove(Move move) {
playedMoves.add(move);
}
public boolean isCheckmated() {
return CheckStatus.BlackCheckmated.equals(checkStatus) ||
CheckStatus.WhiteCheckmated.equals(checkStatus);
}
// TODO add other methods
}
参考: