工厂模式 java示例
时间: 2023-06-22 12:25:45 浏览: 45
下面是工厂模式在Java中的一个示例:
首先,我们定义一个产品接口 Shape:
```java
public interface Shape {
void draw();
}
```
然后定义具体产品类 Circle 和 Rectangle:
```java
public class Circle implements Shape {
@Override
public void draw() {
System.out.println("画一个圆形");
}
}
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("画一个矩形");
}
}
```
接下来定义工厂接口 ShapeFactory:
```java
public interface ShapeFactory {
Shape createShape();
}
```
然后定义具体工厂类 CircleFactory 和 RectangleFactory:
```java
public class CircleFactory implements ShapeFactory {
@Override
public Shape createShape() {
return new Circle();
}
}
public class RectangleFactory implements ShapeFactory {
@Override
public Shape createShape() {
return new Rectangle();
}
}
```
最后,我们可以使用工厂来创建具体产品对象:
```java
public class Main {
public static void main(String[] args) {
ShapeFactory circleFactory = new CircleFactory();
Shape circle = circleFactory.createShape();
circle.draw(); // 画一个圆形
ShapeFactory rectangleFactory = new RectangleFactory();
Shape rectangle = rectangleFactory.createShape();
rectangle.draw(); // 画一个矩形
}
}
```
在上述示例中,我们通过工厂接口 ShapeFactory 和具体工厂类 CircleFactory 和 RectangleFactory 来创建具体产品对象 Circle 和 Rectangle。这样,我们就可以在不暴露产品创建细节的情况下,通过工厂来创建产品对象。