有一类小实体是形状(Shape),包含矩形 (Rectangle)、圆形(Circle)等,请使用工厂方法模式(FactoryMethod)实现该要求
时间: 2023-11-06 19:05:42 浏览: 22
好的,针对您的问题,我可以给您一个工厂方法模式的实现示例:
首先,我们需要定义一个抽象的形状接口:
```
public interface Shape {
void draw();
}
```
然后,我们可以定义不同类型的形状类,例如矩形和圆形:
```
public class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("绘制矩形");
}
}
public class Circle implements Shape {
@Override
public void draw() {
System.out.println("绘制圆形");
}
}
```
接下来,我们可以定义一个形状工厂,用于创建不同类型的形状对象:
```
public class ShapeFactory {
public Shape createShape(String type) {
if(type.equalsIgnoreCase("Rectangle")) {
return new Rectangle();
} else if(type.equalsIgnoreCase("Circle")) {
return new Circle();
}
return null;
}
}
```
最后,我们可以使用工厂方法来创建不同类型的形状对象:
```
public class FactoryMethodDemo {
public static void main(String[] args) {
ShapeFactory factory = new ShapeFactory();
Shape rectangle = factory.createShape("Rectangle");
rectangle.draw();
Shape circle = factory.createShape("Circle");
circle.draw();
}
}
```
这样,我们就用工厂方法模式实现了一个创建不同类型形状对象的示例。