Template Method(模板方法):
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
TemplateMethod 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
上代码:
定义模板类,以及对应需要被实现的模板
// 定义抽象类
abstract class AbstractClass {
// 定义算法骨架
public void operation() {
System.out.println("step 1...");
System.out.println("step 2...");
System.out.println("step 3...");
templateMethod();
}
// 实现的子类自己去实现具体的模板
abstract protected void templateMethod();
}
子类实现抽象类
class SubClass extends AbstractClass{
@Override
protected void templateMethod() {
System.out.println("我是自定义方法!");
}
}
测试:
public static void main(String[] args) {
AbstractClass s = new SubClass();
s.operation();
}
控制台输出如下: