用Java代码实现:定义一个快餐工厂接口,包含生产汉堡和可乐的方法。然后分别实现麦当劳、肯德基和德克士三个类来实现该接口,每个类分别负责生产自己的产品。当麦当劳推出烤鸡翅时,只需要在麦当劳类中新增一个生产烤鸡翅的方法即可,肯德基和德克士类不需要修改,它们会继续生产原有的汉堡和可乐产品。
时间: 2024-03-22 13:39:58 浏览: 19
下面是Java代码实现:
快餐工厂接口:
```java
public interface FastFoodFactory {
public Hamburger produceHamburger();
public Coke produceCoke();
}
```
麦当劳类:
```java
public class McDonald implements FastFoodFactory {
@Override
public Hamburger produceHamburger() {
return new BigMac();
}
@Override
public Coke produceCoke() {
return new CocaCola();
}
public ChickenWings produceChickenWings() {
return new SpicyChickenWings();
}
}
```
肯德基类:
```java
public class KFC implements FastFoodFactory {
@Override
public Hamburger produceHamburger() {
return new ZingerBurger();
}
@Override
public Coke produceCoke() {
return new Pepsi();
}
}
```
德克士类:
```java
public class Dicos implements FastFoodFactory {
@Override
public Hamburger produceHamburger() {
return new BeefBurger();
}
@Override
public Coke produceCoke() {
return new Sprite();
}
}
```
其中,Hamburger、Coke、BigMac、CocaCola、ChickenWings、SpicyChickenWings、ZingerBurger、Pepsi、BeefBurger和Sprite均为具体实现类,代码未给出。
这样,如果麦当劳想要推出烤鸡翅,只需要在McDonald类中新增一个生产烤鸡翅的方法即可,肯德基和德克士类不需要修改,它们会继续生产原有的汉堡和可乐产品。