cheesePizza类
public class CheesePizza extends pizza {
public CheesePizza(String pizzaName) {
super(pizzaName);
}
}
pipperPizza类
public class PiepperPizza extends pizza {
public PiepperPizza(String pizzaName) {
super(pizzaName);
}
}
OrderPizza类
public class OrderPizza {
public OrderPizza(SimplePizzaFactory factory) {
setFactory(factory);
}
public void setFactory(SimplePizzaFactory factory) {
String pizzaType = null;
Scanner scanner = new Scanner(System.in);
System.out.println("请问想点什么pizza");
pizzaType = scanner.next();
pizza pizza = factory.create(pizzaType);
if (pizza != null) {
pizza.prepare();
pizza.bake();
pizza.cut();
pizza.box();
} else {
System.out.println("没有订购");
}
}
}
SimplePizzaFactory 类 // 创建某类的实体对象
public class SimplePizzaFactory {
public pizza create(String pizaType) {
do {
if ("CheesePizza".equals(pizaType)) {
return new CheesePizza(pizaType);
} elseif ("PiepperPizza".equals(pizaType)) {
return new PiepperPizza(pizaType);
} else {
break;
}
} while (true);
return null;
}
}
client 类
public class Client {
public static void main(String[] args) {
new OrderPizza(new SimplePizzaFactory());
}
}