2015-05-31 11:55:18 +03:00
|
|
|
package com.iluwatar.templatemethod;
|
2014-08-23 13:37:42 +03:00
|
|
|
|
2014-08-31 11:31:03 +03:00
|
|
|
/**
|
2014-10-08 13:42:12 +01:00
|
|
|
*
|
2015-01-16 08:52:30 +02:00
|
|
|
* Template Method defines a skeleton for an algorithm. The algorithm subclasses
|
|
|
|
* provide implementation for the blank parts.
|
|
|
|
*
|
|
|
|
* In this example HalflingThief contains StealingMethod that can be changed.
|
|
|
|
* First the thief hits with HitAndRunMethod and then with SubtleMethod.
|
2014-10-08 13:42:12 +01:00
|
|
|
*
|
2014-08-31 11:31:03 +03:00
|
|
|
*/
|
2014-10-07 16:23:37 +01:00
|
|
|
public class App {
|
|
|
|
|
2014-10-08 13:42:12 +01:00
|
|
|
public static void main(String[] args) {
|
|
|
|
HalflingThief thief = new HalflingThief(new HitAndRunMethod());
|
|
|
|
thief.steal();
|
|
|
|
thief.changeMethod(new SubtleMethod());
|
|
|
|
thief.steal();
|
|
|
|
}
|
2014-08-23 13:37:42 +03:00
|
|
|
}
|