参考答案
模板方法模式的实现源码:
例如:
将水果放入冰箱。
我要放一个苹果:开冰箱门 → 放苹果 → 关冰箱门;
我要再放一个梨:开冰箱门 → 放梨 → 关冰箱门。
可见,放水果这个行为模式是一样的,只是存放的水果品种不同。此时就适用模板方法模式来解决这个问题。
/\* \* 添加模板方法 \*/ abstract class Refrigerator { public void open() { System.out.println("开冰箱门"); } public abstract void put(); public void close() { System.out.println("关冰箱门"); } } class Banana extends Refrigerator { @Override public void put() { System.out.println("放苹果"); } } class Apple extends Refrigerator { @Override public void put() { System.out.println("放梨"); } } /\* \* 调用模板方法 \*/ public class TemplateTest { public static void main(String[] args) { Refrigerator refrigerator = new Banana(); refrigerator.open(); refrigerator.put(); refrigerator.close(); } }
结果:
开冰箱门 放苹果 关冰箱门
以上,是Java面试题【模板方法模式如何实现】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—