酷代码 AI
菜单
服务商

使用抽象工厂模式实现,要求如下: 快餐代工厂生产kfc和mdl两家快餐店的产品: 两家快餐店要求生产汉堡、炸鸡和饮料3种产品。 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`接口即可。 [2024-10-24 17:30:03 | AI写代码神器 | 755点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]