java工厂模式实验
时间: 2024-03-22 14:35:45 浏览: 14
Java工厂模式是一种创建对象的设计模式,它提供了一种将对象的创建与使用分离的方式。通过使用工厂模式,我们可以通过调用工厂类的方法来创建对象,而不需要直接使用new关键字实例化对象。
在Java中,工厂模式通常包括以下几个角色:
1. 抽象产品(Product):定义了产品的接口,是具体产品类的父类或接口。
2. 具体产品(Concrete Product):实现了抽象产品接口的具体类。
3. 抽象工厂(Abstract Factory):定义了创建产品的接口,可以是抽象类或接口。
4. 具体工厂(Concrete Factory):实现了抽象工厂接口,负责创建具体产品的对象。
下面是一个简单的Java工厂模式实例:
首先,我们定义一个抽象产品接口(Product):
```java
public interface Product {
void use();
}
```
然后,我们定义两个具体产品类(Concrete Product)实现抽象产品接口:
```java
public class ConcreteProductA implements Product {
@Override
public void use() {
System.out.println("使用产品A");
}
}
public class ConcreteProductB implements Product {
@Override
public void use() {
System.out.println("使用产品B");
}
}
```
接下来,我们定义一个抽象工厂接口(Abstract Factory):
```java
public interface Factory {
Product createProduct();
}
```
然后,我们定义两个具体工厂类(Concrete Factory)实现抽象工厂接口:
```java
public class ConcreteFactoryA implements Factory {
@Override
public Product createProduct() {
return new ConcreteProductA();
}
}
public class ConcreteFactoryB implements Factory {
@Override
public Product createProduct() {
return new ConcreteProductB();
}
}
```
最后,我们可以使用具体工厂来创建具体产品对象:
```java
public class Main {
public static void main(String[] args) {
Factory factoryA = new ConcreteFactoryA();
Product productA = factoryA.createProduct();
productA.use();
Factory factoryB = new ConcreteFactoryB();
Product productB = factoryB.createProduct();
productB.use();
}
}
```
这样,通过工厂模式,我们可以通过调用具体工厂的方法来创建具体产品的对象,而不需要直接使用new关键字实例化对象。