用工厂方法模式实现洗衣机工厂的功能
时间: 2023-06-22 21:47:37 浏览: 91
好的,我来回答你的问题。
工厂方法模式是一种常用的创建型设计模式,它定义了一个用于创建对象的接口,让子类决定实例化哪一个类。在工厂方法模式中,由子类来创建对象,而不是由一个统一的工厂类来创建,从而解决了简单工厂模式中工厂类职责过重的问题。
现在我们来用工厂方法模式实现洗衣机工厂的功能。首先我们需要定义一个洗衣机接口,它包含洗衣机的基本功能:
```java
public interface WashingMachine {
void wash(); // 洗衣功能
}
```
然后我们需要定义两个具体的洗衣机类,分别是上海牌和海尔牌:
```java
public class ShanghaiWashingMachine implements WashingMachine {
@Override
public void wash() {
System.out.println("使用上海牌洗衣机洗衣服");
}
}
public class HaierWashingMachine implements WashingMachine {
@Override
public void wash() {
System.out.println("使用海尔牌洗衣机洗衣服");
}
}
```
接下来,我们需要定义一个洗衣机工厂接口,它包含了创建洗衣机的方法:
```java
public interface WashingMachineFactory {
WashingMachine createWashingMachine();
}
```
然后我们需要定义两个具体的洗衣机工厂类,分别是上海牌洗衣机工厂和海尔牌洗衣机工厂:
```java
public class ShanghaiWashingMachineFactory implements WashingMachineFactory {
@Override
public WashingMachine createWashingMachine() {
return new ShanghaiWashingMachine();
}
}
public class HaierWashingMachineFactory implements WashingMachineFactory {
@Override
public WashingMachine createWashingMachine() {
return new HaierWashingMachine();
}
}
```
最后,我们可以通过以下代码来使用洗衣机工厂来创建洗衣机实例:
```java
public class Client {
public static void main(String[] args) {
WashingMachineFactory factory = new HaierWashingMachineFactory();
WashingMachine washingMachine = factory.createWashingMachine();
washingMachine.wash();
}
}
```
这样就可以根据需要创建不同品牌的洗衣机了,而不需要修改代码。