一个咖啡的父类
package jsu.mm.qintian;
public abstract class Coffee {
public abstract String getName();
}
咖啡工厂
public class CoffeeFactory {
public Coffee createCoffee(String type){
Coffee coffee = null;
if("Black".equals(type)){
coffee = new BlackCoffee();
}else if("Latte".equals(type)){
coffee = new Latte();
}
return coffee;
}
}
咖啡店
public class CoffeeStore {
public Coffee orderCoffee(String type){
CoffeeFactory factory = new CoffeeFactory();
Coffee coffee = factory.createCoffee(type);
return coffee;
}
}
再写一类:黑咖啡
public class BlackCoffee extends Coffee{
public String getName(){
return "BlackCoffee";
}
}
再写一类:拿铁
public class Latte extends Coffee{
public String getName(){
return "Latte";
}
}
咖啡店点单
public class Client {
public static void main(String[] args){
CoffeeStore store = new CoffeeStore();
Coffee coffee = store.orderCoffee("Black");
System.out.println(coffee.getName());
System.out.println(coffee);
}
}