-5

我正在创建一个两人游戏,我希望能够限制用户创建其他玩家对象。

public class Player {
    Symbol symbol;

    public Player() {
        symbol = Symbol.X;
    }
}

如果我有一个这样的公共构造函数,用户可以继续创建对象并且没有办法限制它吗?

编辑:

从枚举中提取玩家

public enum Symbol {
    X, O;
}

我希望能够从这里获取符号并在创建它时将其分配给玩家对象。

4

1 回答 1

4

您可以使用工厂模式

class Player {

    private static int players = 0;

    private Player(...) {
        ...
    }

    public static Player newPlayer(...) {
        if (players < MAX_PLAYERS) {
            players++;
            return new Player(...);
        }

        throw new TooManyPlayersException(...);
    }

}
于 2013-10-28T22:43:36.570 回答