关于Java 设计模式 工厂模式 Factory

关于Java 设计模式 工厂模式 Factory

1、Shape.java

package com.ssm.cts.pattern.factory;

public interface Shape {
  void draw();
}

2、Circle.java

package com.ssm.cts.pattern.factory;

public class Circle implements Shape {

  @Override
  public void draw() {
    System.out.println("圆形");
  }

}

3、Square.java

package com.ssm.cts.pattern.factory;

public class Square implements Shape {

  @Override
  public void draw() {
    System.out.println("方形");
  }

}

4、ShapeFactory.java

package com.ssm.cts.pattern.factory;

public class ShapeFactory {
  // 使用 getShape 方法获取形状类型的对象
  public Shape getShape(String shapeType) {
    if (shapeType == null) {
      return null;
    }
    if (shapeType.equalsIgnoreCase("CIRCLE")) {
      return new Circle();
    } else if (shapeType.equalsIgnoreCase("SQUARE")) {
      return new Square();
    }
    return null;
  }
}

5、Demo.java

package com.ssm.cts.pattern.factory;

public class Demo {
  // 测试
  public static void main(String[] args) {
    ShapeFactory shapeFactory = new ShapeFactory();

    // 获取 Circle 的对象,并调用它的 draw 方法
    Shape shape1 = shapeFactory.getShape("CIRCLE");

    // 调用 Circle 的 draw 方法
    shape1.draw();

    // 获取 Square 的对象,并调用它的 draw 方法
    Shape shape2 = shapeFactory.getShape("SQUARE");

    // 调用 Square 的 draw 方法
    shape2.draw();
  }
}

 

发表回复

您的电子邮箱地址不会被公开。