模板方法模式
Template Method
模式定义:
定义一个操作的算法骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤
package templatemethod;
public class TemplateMethodTest {
public static void main(String[] args) {
// AbstractClass abstractClass = new SubClass();
AbstractClass abstractClass = new SubClass1();
abstractClass.operation();
}
}
abstract class AbstractClass{
public void operation(){
//open
System.out.println(" Pre ...");
System.out.println(" step1");
System.out.println(" step2");
//sql
//close
templateMethod();
}
abstract protected void templateMethod();
}
class SubClass extends AbstractClass{
@Override
protected void templateMethod() {
System.out.println("SubClass executed .");
}
}
class SubClass1 extends AbstractClass{
@Override
protected void templateMethod() {
System.out.println("SubClass1 executed .");
}
}