模版模式-封装算法结构
定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
类图

示例
public abstract class GameTemplate { final void playGame(){ startGame(); play(); endGame(); } void startGame(){ System.out.println("游戏开始!"); } abstract void play(); void endGame(){ System.out.println("游戏结束"); } } public class MarioGame extends GameTemplate { @Override void play() { System.out.println("正在运行-超级马里奥!"); } } public class ZeldaGame extends GameTemplate { @Override void play() { System.out.println("正在运行-塞尔达传说"); } } public class Client { public static void main(String[] args){ GameTemplate mario = new MarioGame(); mario.playGame(); GameTemplate zelda = new ZeldaGame(); zelda.playGame(); } }
运行结果

其他
- 抽象类可以决定算法中的哪些步骤必须被重写。
- 抽象类中可以使用钩子,让子类可以控制算法的某些步骤。
语言是思想的载体

浙公网安备 33010602011771号