我只是想知道一旦从对象数组中选择了一个对象,是否可以实现另一个类?我创造了一个具有3种不同难度级别的国际象棋游戏,一旦用户选择了难度,游戏状态就会根据他们的选择而改变。 我选择的代码是:
Object[] options={"Easy","Medium", "Hard"};
human=JOptionPane.showOptionDialog(null, "Please Select Difficulty", "Please Select Difficulty", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
我有3个课程为困难
我可以使用if语句来实现这个目标吗?
由于
答案 0 :(得分:1)
你可以这样做:
class ChessGame
class DifficltChessGame extends ChessGame
class MediumChessGame extends ChessGame
class SimpleChessGame extends ChessGame
class ChessGameFactory {
public static ChessGame getChessGame(String gameType) {
switch(gameType) { //jdk7
case "easy":
return new SimpleChessGame();
....
}
}
}
从您的代码中,您可以执行以下操作:
String[] options={"Easy","Medium", "Hard"};//use enum instead
humanInput=...
ChessGame game = ChessGameFactory.getChessGame(humanInput);