1

我正在尝试将此图转换为 java 代码,只是为了了解一些可以提出的设计问题。

例如 Piecetype 枚举我会写成

public enum PieceType{
    pawn, king, queen, rook, bishop, knight
}

我想知道是否有人可以提供有关如何将类图转换为 java 代码的指导,只需从字面上获取图中显示的类之一并编写 java 中提到的属性和方法。

我大部分时间都很难弄清楚+和-。

在此处输入图像描述

4

2 回答 2

5

+-参考可见性:

符号可见性
------ ----------
+       公共 
-       私人 
#       受保护 
/       派生(可以与其他之一结合)
 _       静态

来源

于 2013-07-13T14:43:25.873 回答
1

首先,在尝试用 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
}

参考:

于 2013-07-13T14:50:04.193 回答