// interfaces/Games.java// (c)2017 MindView LLC: see Copyright.txt// We make no guarantees that this code is fit for any purpose.// Visit http://OnJava8.com for more book information.// A Game framework using Factory Methodsinterface Game { boolean move(); }interface GameFactory { Game getGame(); }class Checkers implements Game {private int moves = 0;private static final int MOVES = 3;@Overridepublic boolean move() {System.out.println("Checkers move " + moves);return ++moves != MOVES;}}class CheckersFactory implements GameFactory {@Overridepublic Game getGame() { return new Checkers(); }}class Chess implements Game {private int moves = 0;private static final int MOVES = 4;@Overridepublic boolean move() {System.out.println("Chess move " + moves);return ++moves != MOVES;}}class ChessFactory implements GameFactory {@Overridepublic Game getGame() { return new Chess(); }}public class Games {public static void playGame(GameFactory factory) {Game s = factory.getGame();while(s.move());}public static void main(String[] args) {playGame(new CheckersFactory());playGame(new ChessFactory());}}/* Output:Checkers move 0Checkers move 1Checkers move 2Chess move 0Chess move 1Chess move 2Chess move 3*/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。