模板方法模式

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

主方法

/**
 * Created by king on 2017/7/9.
 */
public class main {
    public static void main(String[] args) {
        AbstractClass c;
        c = new ConcreteClassA();
        c.TemplateMethod();

        c = new ConcreteClassB();
        c.TemplateMethod();
    }
}

抽象类,抽象模板,顶级逻辑骨架

public abstract class AbstractClass {
    public abstract void PrimitiveOperation1();//精髓,把不同的实现交给实现类来实现
    public abstract void PrimitvieOperation2();//精髓,把不同的实现交给实现类来实现

    public void TemplateMethod() {
        PrimitiveOperation1();
        PrimitvieOperation2();
        System.out.println("");
    }
}

不同的实现类

public class ConcreteClassA extends AbstractClass {
    public void PrimitiveOperation1() {
        System.out.println("具体类A方法1实现");
    }

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

public class ConcreteClassB extends AbstractClass {
    public void PrimitiveOperation1() {
        System.out.println("具体类B方法1实现");
    }

    public void PrimitvieOperation2() {
        System.out.println("具体类B方法2实现");
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容