咖啡类
package Hello.lrx.Coffeeting;
public class Coffee {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
黑咖啡
package Hello.lrx.Coffeeting;
public class Black extends Coffee{
}
拿铁
package Hello.lrx.Coffeeting;
public class Latte extends Coffee{
}
咖啡生产厂
package Hello.lrx.Coffeeting;
public class CoffeeFactory {
Coffee method(String type){
Coffee coffee = new Coffee();
// Coffee coffee = null;
if("Black".equals(type)){
coffee =new Black();
coffee.setName("Black");
}
else if("Latte".equals(type)){
coffee =new Latte();
coffee.setName("Latte");
}
return coffee;
}
}
咖啡店
package Hello.lrx.Coffeeting;
public class CoffeeStore {
public Coffee order(String type){
CoffeeFactory coffeeFactory = new CoffeeFactory();
Coffee coffee =coffeeFactory.method(type);
return coffee;
}
}
实现
package Hello.lrx.Coffeeting;
public class Store {
public static void main(String[] args){
CoffeeStore coffeeStore =new CoffeeStore();
Coffee coffee =coffeeStore.order("Black");
System.out.println(coffee.getName());
}
}