java的工厂设计模式
时间: 2023-11-20 10:54:04 浏览: 39
Java的工厂设计模式是一种创建型设计模式,它的主要目的是将对象的创建过程与使用过程分离开来。这种模式通过定义一个工厂类来创建对象,而不是在代码中直接使用new关键字来创建对象。工厂类负责创建对象,并将创建对象的过程封装起来,使得其他地方想要使用对象时只需要调用工厂类的方法即可获取对象。这种方式可以使得代码更加灵活,易于维护和扩展。
工厂模式通常包括三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。其中,简单工厂模式是最基本的工厂模式,它通过一个工厂类来创建所有的对象。工厂方法模式是在简单工厂模式的基础上,将工厂类抽象成一个接口,每个具体的工厂类负责创建一种对象。抽象工厂模式是在工厂方法模式的基础上,将工厂类抽象成一个工厂接口,每个具体的工厂类负责创建一组相关的对象。
下面是一个简单工厂模式的示例代码:
```java
// 定义一个汽车接口
public interface Car {
void name();
}
// 实现两个具体的汽车类
public class Tesla implements Car {
@Override
public void name() {
System.out.println("我是特斯拉");
}
}
public class BMW implements Car {
@Override
public void name() {
System.out.println("我是宝马");
}
}
// 定义一个汽车工厂类
public class CarFactory {
public static Car createCar(String type) {
if ("Tesla".equals(type)) {
return new Tesla();
} else if ("BMW".equals(type)) {
return new BMW();
} else {
throw new IllegalArgumentException("Unsupported car type: " + type);
}
}
}
// 在其他地方使用汽车时,只需要调用工厂类的方法即可获取对象
public class Main {
public static void main(String[] args) {
Car tesla = CarFactory.createCar("Tesla"); tesla.name(); // 输出:我是特斯拉
Car bmw = CarFactory.createCar("BMW");
bmw.name(); // 输出:我是宝马
}
}
```