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]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)399
- 抽象工厂模式:实现 KFC 与 Mdl 快餐产品代工厂的 Java 代码解析(阿里通义 | 863点数解答 | 2024-10-24 17:32:40)297
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)300
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1123
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)339
- 解密iOS开发:Category、Extension与继承的区别大揭秘(阿里通义 | 292点数解答 | 2023-11-08 00:38:19)220
- iOS开发大揭秘:Category、Extension与继承的区别详解 (百度文心 | 316点数解答 | 2023-11-09 17:40:23)213
- Python 实现 DES 加密算法编程实验:从原理到单步调试全解析(字节豆包 | 4096点数解答 | 2025-11-09 22:06:30)68
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)308
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)313
- 用 Python 中 pandas 库搞定产品月度数据表格:代码示例全解析( | 322点数解答 | 2024-01-12 17:18:58)336
- Python嵌套字典揭秘:某产品10 - 12月数据全解析(阿里通义 | 330点数解答 | 2024-01-12 17:20:10)333