设计模式之模板模式
设计模式之模板模式:
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
我们将创建一个定义操作的 Game 抽象类,其中,模板方法设置为 final,这样它就不会被重写。BasketballGame和 FootballGame 是扩展了 Game 的实体类,它们重写了抽象类的方法。
-
创建抽象类Game:
public abstract class Game {
abstract void startGame();
abstract void endGame();
abstract void init();
final void play(){
init();
startGame();
endGame();
}
} -
创建扩展了上述类的实体类。
public class FootballGame extends Game {
@Override
void startGame() {
System.out.println(“start football”);
}@Override
void endGame() {
System.out.println(“end football”);
}@Override
void init() {
System.out.println(“init football”);}
}
public class BasketballGame extends Game {
@Override
void startGame() {
System.out.println(“start basketball”);
}
@Override
void endGame() {
System.out.println("end basketball");
}
@Override
void init() {
System.out.println("init basketball");
}
}
-
使用测试类测试:
public class TemplMain {
public static void main(String[] args) {
Game game = new FootballGame();
game.play();}
}
上一篇: Predicate的使用
下一篇: 设计模式(1)策略模式