In programming, there are many classes whose behaviors are similar or even the same. The same method can be abstracted into a parent class template.
For example, an algorithm skeleton, workflow, business template, etc.
See example:
public abstract class MobanSuper { public abstract void PrimitiveOperation1(); public abstract void PrimitiveOperation2(); public void TemplateMethod(){ PrimitiveOperation1 (); PrimitiveOperation2 (); System.out.println("Execute template method"); } }
For example, the parent class defines such an algorithm or business process: the subclass can inherit and implement it to complete the corresponding template code process. You can let subclasses complete their own template business.
example rux
package moban; public class ConcreteClassA extends MobanSuper { @Override public void PrimitiveOperation1() { // TODO Auto-generated method stub System.out.println("Concrete class A method 1 implementation"); } @Override public void PrimitiveOperation2() { // TODO Auto-generated method stub System.out.println("Concrete class A method 2 implementation"); } }
package moban; public class ConcreteClassB extends MobanSuper { @Override public void PrimitiveOperation1() { // TODO Auto-generated method stub System.out.println("Concrete class B method 1 implementation"); } @Override public void PrimitiveOperation2() { // TODO Auto-generated method stub System.out.println("Concrete class B method 2 implementation"); } }
Results of the:
Concrete class A method 1 implementation Concrete class A method 2 implementation execute template method Concrete class B method 1 implementation Concrete Class B Method 2 Implementation execute template method