以下是使用 Java 实现的简单工厂模式来创建不同几何形状绘图工具类的代码: ```java interface Shape { // 绘制方法 void draw(); // 擦除方法 void erase(); } class Circle implements Shape { @Override public void draw() { System.out.println("绘制圆形"); } @Override public void erase() { System.out.println("擦除圆形"); } } class Rectangle implements Shape { @Override public void draw() { System.out.println("绘制矩形"); } @Override public void erase() { System.out.println("擦除矩形"); } } class Triangle implements Shape { @Override public void draw() { System.out.println("绘制三角形"); } @Override public void erase() { System.out.println("擦除三角形"); } } class ShapeFactory { // 根据传入的形状类型创建对应的形状对象 public Shape createShape(String shapeType) { if (shapeType.equalsIgnoreCase("circle")) { return new Circle(); } else if (shapeType.equalsIgnoreCase("rectangle")) { return new Rectangle(); } else if (shapeType.equalsIgnoreCase("triangle")) { return new Triangle(); } else { System.out.println("图形不支持"); return null; } } } public class Main { public static void main(String[] args) { ShapeFactory factory = new ShapeFactory(); // 创建圆形并操作 Shape circle = factory.createShape("circle"); if (circle!= null) { circle.draw(); circle.erase(); } // 创建矩形并操作 Shape rectangle = factory.createShape("rectangle"); if (rectangle!= null) { rectangle.draw(); rectangle.erase(); } // 创建三角形并操作 Shape triangle = factory.createShape("triangle"); if (triangle!= null) { triangle.draw(); triangle.erase(); } // 创建不支持的图形 Shape unknown = factory.createShape("square"); } } ``` 额外需要注意的逻辑点: 1. 对于输入的形状类型的校验要严谨,避免因输入格式错误导致创建错误。 2. 考虑对不同形状的属性进行设置和获取,以增加绘图的灵活性。 3. 处理可能出现的异常情况,比如创建形状对象时的内存不足等问题。 [2024-11-30 14:41:44 | AI写代码神器 | 584点数解答]