参考答案
模板方法模式的实现源码:
例如:
将水果放入冰箱。
我要放一个苹果:开冰箱门 → 放苹果 → 关冰箱门;
我要再放一个梨:开冰箱门 → 放梨 → 关冰箱门。
可见,放水果这个行为模式是一样的,只是存放的水果品种不同。此时就适用模板方法模式来解决这个问题。
/\* \* 添加模板方法 \*/
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—
