java 简单工厂模式案例
时间: 2023-09-24 14:13:21 浏览: 48
假设我们有一个简单的汽车制造工厂,它可以制造不同类型的汽车,如轿车、SUV、货车等。我们可以使用简单工厂模式来创建不同类型的汽车。
首先,我们需要定义一个抽象类或接口来表示汽车。这里我们使用抽象类Car:
```java
public abstract class Car {
public abstract void drive();
}
```
然后我们定义不同类型的汽车,如轿车、SUV、货车等:
```java
public class SedanCar extends Car {
@Override
public void drive() {
System.out.println("Driving a sedan car.");
}
}
public class SuvCar extends Car {
@Override
public void drive() {
System.out.println("Driving an SUV car.");
}
}
public class TruckCar extends Car {
@Override
public void drive() {
System.out.println("Driving a truck car.");
}
}
```
接下来,我们定义一个简单工厂类CarFactory,它根据客户端传入的参数(汽车类型)创建相应的汽车实例:
```java
public class CarFactory {
public static Car createCar(String type) {
if (type.equals("sedan")) {
return new SedanCar();
} else if (type.equals("suv")) {
return new SuvCar();
} else if (type.equals("truck")) {
return new TruckCar();
} else {
throw new IllegalArgumentException("Invalid car type.");
}
}
}
```
这个工厂类根据客户端传入的参数,返回相应的汽车实例。
最后,我们可以在客户端代码中使用CarFactory来创建不同类型的汽车:
```java
Car sedanCar = CarFactory.createCar("sedan");
Car suvCar = CarFactory.createCar("suv");
Car truckCar = CarFactory.createCar("truck");
sedanCar.drive(); // Driving a sedan car.
suvCar.drive(); // Driving an SUV car.
truckCar.drive(); // Driving a truck car.
```
这就是简单工厂模式的一个简单案例。通过使用简单工厂模式,我们可以将对象的创建和使用分离,使代码更加灵活和可维护。