/**
* 高级抽象类
* @author Administrator
*
*/
public abstract class AbstractClass {
public static final String METHOD_1 = "m1";
public static final String METHOD_2 = "m2";
public final void templateMethod(String methodName){
if(METHOD_1.equals(methodName)){
doOperation1(methodName);
}
if(METHOD_2.equals(methodName)){
doOperation2(methodName);
}
}
protected abstract void doOperation1(String methodName);
protected abstract void doOperation2(String methodName);
}
/**
* 该类继承高级抽象类
* @author Administrator
*
*/
public class ConcreteClass extends AbstractClass {
@Override
protected void doOperation1(String methodName) {
System.out.println(methodName);
}
@Override
protected void doOperation2(String methodName) {
System.out.println(methodName);
}
}
结果展现:


本文介绍了一种设计模式——模板方法模式。通过一个高级抽象类定义了两个静态常量及两个抽象方法,并在具体子类中实现了这两个抽象方法。模板方法模式使得父类控制方法调用流程,展示了方向反转的概念。
823

被折叠的 条评论
为什么被折叠?



