在编程中,有很多的类行为方法相似,甚至是一样,就可以把相同的方法抽象成一个父类模板,
比如一个算法骨架,工作流程,业务模板等。
看实例:
public abstract class MobanSuper {
public abstract void PrimitiveOperation1();
public abstract void PrimitiveOperation2();
public void TemplateMethod(){
PrimitiveOperation1();
PrimitiveOperation2();
System.out.println(" 执行 模板方法 ");
}
}
比如 父类定义了这样的算法或者业务流程:子类就可以继承 实现它,完成相应的模板代码流程。可以让子类完成各自的模板业务。
例子rux
package moban;
public class ConcreteClassA extends MobanSuper {
@Override
public void PrimitiveOperation1() {
// TODO Auto-generated method stub
System.out.println(" 具体类A方法1 实现 ");
}
@Override
public void PrimitiveOperation2() {
// TODO Auto-generated method stub
System.out.println(" 具体类A方法2 实现 ");
}
}
package moban;
public class ConcreteClassB extends MobanSuper {
@Override
public void PrimitiveOperation1() {
// TODO Auto-generated method stub
System.out.println(" 具体类B方法1 实现 ");
}
@Override
public void PrimitiveOperation2() {
// TODO Auto-generated method stub
System.out.println(" 具体类B 方法2 实现 ");
}
}
执行结果:
具体类A方法1 实现
具体类A方法2 实现
执行 模板方法
具体类B方法1 实现
具体类B 方法2 实现
执行 模板方法