三角形圆形创建与擦除java_设计模式---------------简单工厂模式
时间: 2023-08-15 19:35:08 浏览: 158
西蒙iphone-OpenGL_ES_教程
简单工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在此模式中,我们使用一个工厂类来创建不同类型的对象,而不是在代码中直接实例化对象。
对于你提到的三角形和圆形的创建和擦除,我们可以使用简单工厂模式来实现。首先,我们需要定义一个形状接口,它包含画图和擦除方法。然后,我们可以创建两个实现这个接口的类,分别是三角形和圆形类。接下来,我们创建一个工厂类,它包含一个方法,该方法接受一个字符串参数,根据参数的不同返回三角形或圆形对象。
以下是一个简单的示例代码,用于演示如何使用简单工厂模式来创建和擦除三角形和圆形:
```java
interface Shape {
void draw();
void erase();
}
class Triangle implements Shape {
@Override
public void draw() {
System.out.println("Draw a triangle.");
}
@Override
public void erase() {
System.out.println("Erase a triangle.");
}
}
class Circle implements Shape {
@Override
public void draw() {
System.out.println("Draw a circle.");
}
@Override
public void erase() {
System.out.println("Erase a circle.");
}
}
class ShapeFactory {
public static Shape createShape(String type) {
if (type.equals("triangle")) {
return new Triangle();
} else if (type.equals("circle")) {
return new Circle();
} else {
throw new IllegalArgumentException("Invalid shape type.");
}
}
}
public class Main {
public static void main(String[] args) {
Shape triangle = ShapeFactory.createShape("triangle");
triangle.draw();
triangle.erase();
Shape circle = ShapeFactory.createShape("circle");
circle.draw();
circle.erase();
}
}
```
在上面的代码中,我们首先定义了一个Shape接口,并创建了Triangle和Circle类来实现它。接下来,我们创建了一个ShapeFactory工厂类,它包含一个createShape方法,该方法根据传入的参数返回不同的形状对象。最后,我们在主方法中使用ShapeFactory来创建和擦除三角形和圆形。
这是一个简单的示例,演示了如何使用简单工厂模式来创建和擦除不同类型的形状。在实际应用中,我们可以使用工厂模式来创建和管理更复杂的对象,可以提高代码的可维护性和可扩展性。
阅读全文