详细并分段解释这段代码:public class SimplePizzaFactory { public Pizza CreatePizza(String ordertype) { Pizza pizza = null; if (ordertype.equals("cheese")) { pizza = new CheesePizza(); } else if (ordertype.equals("greek")) { pizza = new GreekPizza(); } else if (ordertype.equals("pepper")) { pizza = new PepperPizza(); } return pizza; } }
时间: 2024-02-15 20:27:39 浏览: 18
这段代码是一个简单的工厂模式的实现,下面我来详细解释每个部分:
1. `public class SimplePizzaFactory`:定义了一个公共的类`SimplePizzaFactory`,用于创建不同类型的Pizza对象。
2. `public Pizza CreatePizza(String ordertype)`:定义了一个公共的方法`CreatePizza`,用于创建Pizza对象。该方法接收一个字符串类型的参数`ordertype`,表示要创建的Pizza类型。
3. `Pizza pizza = null;`:首先创建一个空的Pizza对象。
4. `if (ordertype.equals("cheese")) { pizza = new CheesePizza(); }`:如果`ordertype`等于"cheese",则创建一个CheesePizza类型的对象,并将其赋值给`pizza`变量。
5. `else if (ordertype.equals("greek")) { pizza = new GreekPizza(); }`:如果`ordertype`等于"greek",则创建一个GreekPizza类型的对象,并将其赋值给`pizza`变量。
6. `else if (ordertype.equals("pepper")) { pizza = new PepperPizza(); }`:如果`ordertype`等于"pepper",则创建一个PepperPizza类型的对象,并将其赋值给`pizza`变量。
7. `return pizza;`:返回创建好的Pizza对象。
总之,这段代码是一个简单工厂模式的实现,它根据传入的参数来创建不同类型的Pizza对象,并返回创建好的对象。这样可以在客户端中减少代码的重复,同时也方便了后续的维护和扩展。