酷代码 AI
菜单
服务商

Java 抽象工厂模式:实现 KFC 与 MDL 快餐产品代工及未来扩展

以下是使用 Java 实现的抽象工厂模式示例代码: ```java interface FastFoodFactory { Burger createBurger(); FriedChicken createFriedChicken(); Drink createDrink(); } class KFCFactory implements FastFoodFactory { @Override public Burger createBurger() { return new ChickenBurger(); } @Override public FriedChicken createFriedChicken() { return new OrleansChickenLeg(); } @Override public Drink createDrink() { return new Coffee(); } } class MDLFactory implements FastFoodFactory { @Override public Burger createBurger() { return new BeefBurger(); } @Override public FriedChicken createFriedChicken() { return new FriedChickenLeg(); } @Override public Drink createDrink() { return new OrangeJuice(); } } interface Burger { void describe(); } class ChickenBurger implements Burger { @Override public void describe() { System.out.println("这是鸡肉堡"); } } class BeefBurger implements Burger { @Override public void describe() { System.out.println("这是牛肉堡"); } } interface FriedChicken { void describe(); } class OrleansChickenLeg implements FriedChicken { @Override public void describe() { System.out.println("这是奥尔良鸡腿"); } } class FriedChickenLeg implements FriedChicken { @Override public void describe() { System.out.println("这是炸鸡腿"); } } interface Drink { void describe(); } class Coffee implements Drink { @Override public void describe() { System.out.println("这是咖啡"); } } class OrangeJuice implements Drink { @Override public void describe() { System.out.println("这是橙汁"); } } public class AbstractFactoryExample { public static void main(String[] args) { FastFoodFactory kfcFactory = new KFCFactory(); Burger kfcBurger = kfcFactory.createBurger(); FriedChicken kfcChicken = kfcFactory.createFriedChicken(); Drink kfcDrink = kfcFactory.createDrink(); kfcBurger.describe(); kfcChicken.describe(); kfcDrink.describe(); FastFoodFactory mdlFactory = new MDLFactory(); Burger mdlBurger = mdlFactory.createBurger(); FriedChicken mdlChicken = mdlFactory.createFriedChicken(); Drink mdlDrink = mdlFactory.createDrink(); mdlBurger.describe(); mdlChicken.describe(); mdlDrink.describe(); } } ``` 在上述代码中,定义了抽象工厂`FastFoodFactory`,以及具体的工厂`KFCFactory`和`MDLFactory`。每个工厂负责生产特定类型的产品(汉堡、炸鸡和饮料)。产品也都有各自的接口和具体实现。这样,如果未来要增加新的快餐店,只需创建新的工厂类实现`FastFoodFactory`接口即可。 ######[AI写代码神器 | 755点数解答 | 2024-10-24 17:30:03]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]