java面向对象案例工厂模式
时间: 2023-10-18 12:13:19 浏览: 147
工厂模式是一种常用的面向对象设计模式,其主要特点是将对象的创建过程集中到一个工厂类中,由工厂类来负责实例化对象并返回给调用方。在Java中,工厂模式通常分为三种:简单工厂模式、工厂方法模式、抽象工厂模式。
一个经典的工厂模式案例是创建汽车,我们可以定义一个Car接口,定义汽车的基本方法,然后创建各种具体的汽车类实现这个接口。为了将汽车的创建与使用分离开来,我们可以创建一个CarFactory类,负责根据不同的参数创建不同的汽车对象。使用工厂模式,客户可以直接通过CarFactory来获取所需汽车的实例,而不必关心汽车的具体实现细节。
如下是一个简单的工厂模式实现汽车创建的例子:
```JAVA
interface Car {
void drive();
}
class EconomyCar implements Car {
public void drive() {
System.out.println("drive economy car");
}
}
class LuxuryCar implements Car {
public void drive() {
System.out.println("drive luxury car");
}
}
class CarFactory {
public static Car createCar(String carType) {
if (carType == null) {
return null;
}
if (carType.equalsIgnoreCase("Economy")) {
return new EconomyCar();
} else if (carType.equalsIgnoreCase("Luxury")) {
return new LuxuryCar();
}
return null;
}
}
public class FactoryPatternDemo {
public static void main(String[] args) {
Car economyCar = CarFactory.createCar("Economy");
economyCar.drive();
Car luxuryCar = CarFactory.createCar("Luxury");
luxuryCar.drive();
}
}
```
在上述代码中,我们定义了一个Car接口,并分别实现了EconomyCar和LuxuryCar两个具体的汽车类,最后创建了一个CarFactory类,负责根据参数创建不同的Car对象。最后在main函数中,我们使用CarFactory来获取两辆不同的汽车,并调用各自的drive方法。
此外,还有工厂方法模式和抽象工厂模式, 在工厂方法模式中,工厂类将具体类的实例化推迟到子类中实现,而在抽象工厂模式中,工厂类用于创建一系列相关或依赖对象的接口。
阅读全文