// author: DDKK.COM 弟弟快看,程序员编程资料站(ddkk.com) // Copyright * 2015-2065 ddkk.com. All rights reserved. package com.ddkk.gof; publicclassCricketextendsGame { @Override voidendPlay() { System.out.println("Cricket Game Finished!"); } @Override voidinitialize() { System.out.println("Cricket Game Initialized! Start playing."); } @Override voidstartPlay() { System.out.println("Cricket Game Started. Enjoy the game!"); }
Football.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// author: DDKK.COM 弟弟快看,程序员编程资料站(ddkk.com) // Copyright * 2015-2065 ddkk.com. All rights reserved. package com.ddkk.gof; publicclassFootballextendsGame { @Override voidendPlay() { System.out.println("Football Game Finished!"); } @Override voidinitialize() { System.out.println("Football Game Initialized! Start playing."); } @Override voidstartPlay() { System.out.println("Football Game Started. Enjoy the game!"); }
3. 使用 Game 的模板方法 play() 来演示游戏的定义方式
TemplatePatternDemo.java
1 2 3 4 5 6 7 8 9 10 11
// author: DDKK.COM 弟弟快看,程序员编程资料站(ddkk.com) // Copyright * 2015-2065 ddkk.com. All rights reserved. package com.ddkk.gof; publicclassTemplatePatternDemo { publicstaticvoidmain(String[] args) { Gamegame=newCricket(); game.play(); System.out.println(); game = newFootball(); game.play(); }
编译运行以上 Java 范例,输出结果如下
1 2 3 4 5 6 7 8
$ javac -d . src/main/com.ddkk/gof/TemplatePatternDemo.java $ java com.ddkk.gof.TemplatePatternDemo Cricket Game Initialized! Start playing. Cricket Game Started. Enjoy the game! Cricket Game Finished! Football Game Initialized! Start playing. Football Game Started. Enjoy the game! Football Game Finished!