SE450: Patterns: Simple Template Method Example [13/41] Previous pageContentsNext page

A simple example.

BaseClass/AbstractClass

ConcreteClass


abstract class BaseClass {
    public BaseClass() {
	
    }
    abstract void primitiveOperation1();
    abstract void primitiveOperation2();

    final void templateMethod() {
	for(int i = 0; i < 5; i++) {
	    primitiveOperation1();
	    primitiveOperation2();
    }
  }
}


class ConcreteClass extends BaseClass {
  void primitiveOperation1() { 
    System.out.print("Hello ");
  }
  void primitiveOperation2() { 
    System.out.println("World!");
  }
}

public class TemplateMethod {
  BaseClass concrete = new ConcreteClass();
  public void test() {
      concrete.templateMethod();
  }
  public static void main(String args[]) {
    new TemplateMethod().test();
  }
}

          

We will also look at another example in JUnit code later tonight.

Previous pageContentsNext page