某果园种植有苹果、梨子、桃子和葡萄等水果,根据订货向商店供货。现在,商店就是客户端,水果是产品,使用简单工厂模式来实现果园向商店提供一定数量的某种水果。 如果果园又种植出猕猴桃可以供货,如何修改代码?
时间: 2024-05-09 07:18:37 浏览: 10
需要新增一个猕猴桃类和对应的猕猴桃工厂类,以便果园可以向商店供应猕猴桃。具体步骤如下:
1. 新建一个猕猴桃类,实现水果接口。
```java
public class Kiwi implements Fruit {
@Override
public void grow() {
System.out.println("Kiwi is growing...");
}
@Override
public void harvest() {
System.out.println("Kiwi has been harvested.");
}
@Override
public void plant() {
System.out.println("Kiwi has been planted.");
}
}
```
2. 新建一个猕猴桃工厂类,实现水果工厂接口,并根据需要返回猕猴桃对象。
```java
public class KiwiFactory implements FruitFactory {
@Override
public Fruit createFruit() {
return new Kiwi();
}
}
```
3. 在客户端代码中,新增一个对应的猕猴桃工厂对象,并使用该工厂对象来获取猕猴桃对象。
```java
public class Client {
public static void main(String[] args) {
FruitFactory appleFactory = new AppleFactory();
Fruit apple = appleFactory.createFruit();
apple.plant();
apple.grow();
apple.harvest();
FruitFactory kiwiFactory = new KiwiFactory();
Fruit kiwi = kiwiFactory.createFruit();
kiwi.plant();
kiwi.grow();
kiwi.harvest();
}
}
```
这样,果园就可以向商店供应猕猴桃了。