【java设计模式】【行为模式Behavioral Pattern】模板方法模式Template Method Pattern

时间:2023-03-08 18:54:59
 package com.tn.pattern;

 public class Client {
public static void main(String[] args) {
AbstractClass c1=new ConcreteClass1();
c1.templateMethod(); AbstractClass c2=new ConcreteClass2();
c2.templateMethod();
}
} abstract class AbstractClass{
abstract protected void primitiveMethod1();
abstract protected void primitiveMethod2(); protected void templateMethod(){
System.out.println("templateMethod() start...");
primitiveMethod1();
primitiveMethod2();
System.out.println("templateMethod() end.");
}
} class ConcreteClass1 extends AbstractClass{
@Override
public void primitiveMethod1() {
System.out.println("ConcreteClass1's primitiveMethod1()...");
}
@Override
public void primitiveMethod2() {
System.out.println("ConcreteClass1's primitiveMethod2()...");
}
} class ConcreteClass2 extends AbstractClass{
@Override
public void primitiveMethod1() {
System.out.println("ConcreteClass2's primitiveMethod1()...");
}
@Override
public void primitiveMethod2() {
System.out.println("ConcreteClass2's primitiveMethod2()...");
}
}