模板模式 有趣地例子
时间: 2023-07-18 18:22:09 浏览: 87
一个有趣的模板模式的例子是制作披萨。在这个例子中,模板是披萨的制作过程,而具体的实现则是不同种类的披萨。
首先,定义一个披萨制作的模板:
```java
public abstract class Pizza {
public void makePizza() {
prepareDough();
addToppings();
bakePizza();
}
protected void prepareDough() {
System.out.println("Preparing dough");
}
protected abstract void addToppings();
protected void bakePizza() {
System.out.println("Baking pizza");
}
}
```
然后,定义两种类型的披萨:意大利披萨和芝士披萨。
```java
public class ItalianPizza extends Pizza {
protected void addToppings() {
System.out.println("Adding tomato sauce, garlic, and basil");
}
}
public class CheesePizza extends Pizza {
protected void addToppings() {
System.out.println("Adding cheese and tomato sauce");
}
}
```
最后,测试代码可以这样写:
```java
public static void main(String[] args) {
Pizza italianPizza = new ItalianPizza();
italianPizza.makePizza();
Pizza cheesePizza = new CheesePizza();
cheesePizza.makePizza();
}
```
运行结果为:
```
Preparing dough
Adding tomato sauce, garlic, and basil
Baking pizza
Preparing dough
Adding cheese and tomato sauce
Baking pizza
```
可以看到,披萨制作的模板是相同的,但是具体的实现是不同的。这就是模板模式的一个有趣的例子。
阅读全文