java中设计模式 工厂模式介绍,并举例说明
时间: 2024-01-20 13:43:17 浏览: 80
java-设计模式
工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,可以将对象的创建过程与使用过程分离开来。
工厂模式的主要思想是通过一个工厂方法来实现对象的创建,而不是直接在代码中通过new来创建对象。这样做的好处是可以减少代码的耦合度,同时增强代码的可扩展性和可维护性。
举个例子,假设有一个形状接口Shape和三个实现类Circle、Rectangle、Square,我们可以定义一个工厂类ShapeFactory来生成Shape的实现类。
```
interface Shape {
void draw();
}
class Circle implements Shape {
public void draw() {
System.out.println("Circle.draw()");
}
}
class Rectangle implements Shape {
public void draw() {
System.out.println("Rectangle.draw()");
}
}
class Square implements Shape {
public void draw() {
System.out.println("Square.draw()");
}
}
class ShapeFactory {
public Shape getShape(String shapeType) {
if (shapeType == null) {
return null;
}
if (shapeType.equalsIgnoreCase("CIRCLE")) {
return new Circle();
} else if (shapeType.equalsIgnoreCase("RECTANGLE")) {
return new Rectangle();
} else if (shapeType.equalsIgnoreCase("SQUARE")) {
return new Square();
}
return null;
}
}
```
然后我们可以通过以下代码来生成不同的形状对象:
```
ShapeFactory shapeFactory = new ShapeFactory();
Shape circle = shapeFactory.getShape("CIRCLE");
circle.draw(); // output: Circle.draw()
Shape rectangle = shapeFactory.getShape("RECTANGLE");
rectangle.draw(); // output: Rectangle.draw()
Shape square = shapeFactory.getShape("SQUARE");
square.draw(); // output: Square.draw()
```
阅读全文