package jsu.factory;
public abstract class Coffee {
public abstract String getName();
public void addSugar() {
System.out.println("加糖");
}
public void addMilk() {
System.out.println("加奶");
}
}
package jsu.factory;
public class CoffeeFactory {
public Coffee productCoffee(String type) {
Coffee coffee = null;
if ("Latter".equals(type)) {
coffee = new LattreCoffee();
} else if ("American".equals(type)) {
coffee = new AmericanCoffee();
}
return coffee;
}
}
package jsu.factory;
public class CoffeeStore {
public Coffee orderCoffee(String type) {
CoffeeFactory factory = new CoffeeFactory();
Coffee coffee = factory.productCoffee(type);
return coffee;
}
}
package jsu.factory;
public class LattreCoffee extends Coffee {
@Override
public String getName() {
return "拿铁咖啡";
}
}
package jsu.factory;
public class AmericanCoffee extends Coffee {
@Override
public String getName() {
return "美式咖啡";
}
}
package jsu.factory;
public class Client {
public static void main(String[] args) {
CoffeeStore coffeeStore = new CoffeeStore();
Coffee coffee = coffeeStore.orderCoffee("American");
System.out.println(coffee.getName());
System.out.println(coffee);
}
}
开一个咖啡店
最新推荐文章于 2024-08-12 21:29:36 发布
文章展示了使用Java编程语言实现的工厂模式,通过CoffeeFactory创建不同类型的Coffee(如LattreCoffee和AmericanCoffee),CoffeeStore负责订单处理。主要关注抽象类Coffee和其子类的实例化过程。
摘要由CSDN通过智能技术生成