23种设计模式之模板方法模式

模板方法模式(TemplateMethod):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

 

package designMode.templateMethod;

abstract class AbstractClass {
    
    public abstract void primitiveOperation1();
    
    public abstract void primitiveOperation2();
    
    public void templateMethod(){
        primitiveOperation1();
        primitiveOperation2();
    }
}
package designMode.templateMethod;

class ConcreteClassA extends AbstractClass{

    @Override
    public void primitiveOperation1() {
        System.out.println("具体类A方法1实现");
    }

    @Override
    public void primitiveOperation2() {
        System.out.println("具体类A方法2实现");
    }

}
class ConcreteClassB extends AbstractClass{
    
    @Override
    public void primitiveOperation1() {
        System.out.println("具体类B方法1实现");
    }
    
    @Override
    public void primitiveOperation2() {
        System.out.println("具体类B方法2实现");
    }
    
}
package designMode.templateMethod;

class Test {
    public static void main(String[] args) {
        AbstractClass ac;
        ac = new ConcreteClassA();
        ac.templateMethod();
        ac = new ConcreteClassB();
        ac.templateMethod();
    }
}
原文地址:https://www.cnblogs.com/lxcmyf/p/7404037.html