模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
主方法
/**
* 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实现");
}
}