一、模板方法模式的定义
在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
从定义可以看出,模板方法的本质是:封装算法。
类图结构:
其中,templateMethod会调用抽象类中定义的一些抽象方法,或者已经实现(默认的具体实现)的方法(称之为“钩子”),子类(实现类)需要实现父类中的抽象方法,或者覆盖父类中已实现的方法,从而实现算法(或改变算法)。
二、一个例子
/**
* 抽象类,定义了模板方法。
*/
public abstract