酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

使用抽象工厂模式实现,要求如下: 快餐代工厂生产kfc和mdl两家快餐店的产品: 两家快餐店要求生产汉堡、炸鸡和饮料3种产品。以后可能还会代工生产快餐店产品51 class juice implements drink{ s2 534 @override -54 public void eat(){ 55 system.out.println("喝果汁"); 56 快餐 57 58 59 interface mealfactbry{ burger creatburger(); 62 drink creatdrink(); chicken creatchicken(); class kfc implements mealfactory(65 66 boverride -67 public burger creatburger()( 府68 f t000 auta-generated method stub 69 return new kfcburger(); 70 72 boverride -73 public chicken creatchicken()( 874

为了实现你所描述的快餐代工厂需求,我们将使用抽象工厂模式。这个设计模式提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。以下是根据你的要求实现的具体代码: 定义产品接口 首先,定义每个产品的接口。 ```java // 汉堡接口 interface Burger { void eat(); } // 炸鸡接口 interface Chicken { void eat(); } // 饮料接口 interface Drink { void drink(); } ``` 实现具体产品 然后,为每家快餐店(KFC 和 Mdl)实现这些接口。 KFC 产品 ```java class KFCBurger implements Burger { @Override public void eat() { System.out.println("吃KFC汉堡"); } } class KFCChicken implements Chicken { @Override public void eat() { System.out.println("吃KFC炸鸡"); } } class KFCDrink implements Drink { @Override public void drink() { System.out.println("喝KFC饮料"); } } ``` Mdl 产品 ```java class MdlBurger implements Burger { @Override public void eat() { System.out.println("吃Mdl汉堡"); } } class MdlChicken implements Chicken { @Override public void eat() { System.out.println("吃Mdl炸鸡"); } } class MdlDrink implements Drink { @Override public void drink() { System.out.println("喝Mdl饮料"); } } ``` 定义抽象工厂接口 接下来,定义一个抽象工厂接口,用于创建具体的快餐产品。 ```java interface MealFactory { Burger createBurger(); Chicken createChicken(); Drink createDrink(); } ``` 实现具体工厂 为每家快餐店实现具体的工厂类。 KFC 工厂 ```java class KFCFactory implements MealFactory { @Override public Burger createBurger() { return new KFCBurger(); } @Override public Chicken createChicken() { return new KFCChicken(); } @Override public Drink createDrink() { return new KFCDrink(); } } ``` Mdl 工厂 ```java class MdlFactory implements MealFactory { @Override public Burger createBurger() { return new MdlBurger(); } @Override public Chicken createChicken() { return new MdlChicken(); } @Override public Drink createDrink() { return new MdlDrink(); } } ``` 客户端代码 编写客户端代码来使用这些工厂和产品。 ```java public class FastFoodClient { public static void main(String[] args) { // 创建KFC工厂 MealFactory kfcFactory = new KFCFactory(); Burger kfcBurger = kfcFactory.createBurger(); Chicken kfcChicken = kfcFactory.createChicken(); Drink kfcDrink = kfcFactory.createDrink(); // 使用KFC产品 kfcBurger.eat(); kfcChicken.eat(); kfcDrink.drink(); // 创建Mdl工厂 MealFactory mdlFactory = new MdlFactory(); Burger mdlBurger = mdlFactory.createBurger(); Chicken mdlChicken = mdlFactory.createChicken(); Drink mdlDrink = mdlFactory.createDrink(); // 使用Mdl产品 mdlBurger.eat(); mdlChicken.eat(); mdlDrink.drink(); } } ``` 运行结果 运行上述客户端代码,输出将是: ``` 吃KFC汉堡 吃KFC炸鸡 喝KFC饮料 吃Mdl汉堡 吃Mdl炸鸡 喝Mdl饮料 ``` 这样,我们就使用抽象工厂模式实现了快餐代工厂的需求。如果将来需要添加新的快餐店或新的产品类型,只需扩展相应的工厂和产品类即可。 [2024-10-24 17:32:40 | AI写代码神器 | 863点数解答]

相关提问