在编程中,有很多的类行为方法相似,甚至是一样,就可以把相同的方法抽象成一个父类模板,
比如一个算法骨架,工作流程,业务模板等。
看实例:
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 实现 执行 模板方法