什么是工厂模式写一段Java代码来举个例子并详细说明
时间: 2023-03-30 17:04:46 浏览: 106
工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需暴露对象的创建逻辑。在工厂模式中,我们定义一个接口或抽象类,它负责创建一些相关对象,但不会指定具体类。然后,我们在子类中实现这个接口或抽象类,并根据需要创建具体类的实例。
以下是一个简单的 Java 代码示例,展示了如何使用工厂模式来创建不同类型的汽车:
// 定义汽车接口
interface Car {
void drive();
}
// 实现不同类型的汽车
class SedanCar implements Car {
@Override
public void drive() {
System.out.println("Driving a sedan car.");
}
}
class SUVCar implements Car {
@Override
public void drive() {
System.out.println("Driving an SUV car.");
}
}
// 定义汽车工厂
class CarFactory {
public Car createCar(String type) {
if (type.equals("sedan")) {
return new SedanCar();
} else if (type.equals("suv")) {
return new SUVCar();
} else {
throw new IllegalArgumentException("Invalid car type.");
}
}
}
// 使用汽车工厂创建汽车
public class Main {
public static void main(String[] args) {
CarFactory factory = new CarFactory();
Car sedan = factory.createCar("sedan");
Car suv = factory.createCar("suv");
sedan.drive();
suv.drive();
}
}
在上面的示例中,我们定义了一个 Car 接口,并实现了 SedanCar 和 SUVCar 类,它们都实现了 Car 接口。然后,我们定义了一个 CarFactory 类,它负责根据传入的参数创建不同类型的汽车。最后,我们在主函数中使用 CarFactory 来创建 SedanCar 和 SUVCar 实例,并调用它们的 drive() 方法。
阅读全文