abstract class AbstractClass { abstract public void primitiveOperation1(); abstract public void primitiveOperation2(); public void templateMethod() { System.out.println("AbstractClass templateMethod()メソッド"); primitiveOperation1(); primitiveOperation2(); } }
public class ConcreteClass extends AbstractClass { public void primitiveOperation1() { System.out.println("ConcreteClass primitiveOperation1()メソッド"); } public void primitiveOperation2() { System.out.println("ConcreteClass primitiveOperation2()メソッド"); } }
public class Client { public static void main(String[] args) { ConcreteClass c = new ConcreteClass(); c.templateMethod(); } }
C:\JavaHello\Template Method>java Client AbstractClass templateMethod()メソッド ConcreteClass primitiveOperation1()メソッド ConcreteClass primitiveOperation2()メソッド C:\JavaHello\Template Method>