模板方法模式
定义:模板方法模式(Template Method Pattern),定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
结构图:
例:
public abstract class Creature { // AbstractClass public abstract void drink(); public abstract void eat(); public void live(){ drink(); eat(); } }
public class Human extends Creature { // ConcreteClass1 @Override public void drink() { System.out.println("人喝水"); } @Override public void eat() { System.out.println("人吃饭"); } }
public class Dog extends Human { // ConcreteClass2 @Override public void drink() { System.out.println("小狗喝水"); } @Override public void eat() { System.out.println("小狗吃饭"); } }
public class Test { public static void main(String[] args) { Creature human = new Human(); human.live(); Creature dog = new Dog(); dog.live(); } }
输出:
人喝水
人吃饭
小狗喝水
小狗吃饭