如何自定义java工厂模式的接口和实现类

avatar
作者
筋斗云
阅读量:0

在Java中,工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

以下是如何自定义Java工厂模式的接口和实现类的步骤:

  1. 首先,定义一个接口,该接口将声明工厂类需要实现的方法。例如,这里有一个名为Shape的接口:
public interface Shape {     void draw(); } 
  1. 然后,为每种具体类型创建实现此接口的实现类。例如,这里有两个实现类CircleRectangle
public class Circle implements Shape {     @Override     public void draw() {         System.out.println("Drawing a circle.");     } }  public class Rectangle implements Shape {     @Override     public void draw() {         System.out.println("Drawing a rectangle.");     } } 
  1. 创建一个工厂类,该类包含一个静态方法,该方法根据输入参数(例如,类型)返回相应的实现类实例。例如,这里有一个名为ShapeFactory的工厂类:
public class ShapeFactory {     public static Shape getShape(String shapeType) {         if (shapeType == null) {             return null;         }                  if (shapeType.equalsIgnoreCase("circle")) {             return new Circle();         } else if (shapeType.equalsIgnoreCase("rectangle")) {             return new Rectangle();         }                  return null;     } } 
  1. 最后,在客户端代码中,使用工厂类创建所需类型的实例。例如:
public class Main {     public static void main(String[] args) {         Shape circle = ShapeFactory.getShape("circle");         circle.draw();          Shape rectangle = ShapeFactory.getShape("rectangle");         rectangle.draw();     } } 

这样,你就可以根据需要轻松地添加更多形状实现和修改工厂类,而无需更改客户端代码。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!