在子类中使用构造函数中的Builder模式

在子类中使用构造函数中的Builder模式,第1张

在子类中使用构造函数中的Builder模式

您可能需要考虑使用嵌套

MySophisticatedObject.Builder
extends
MyPrimitiveObject.Builder
,并覆盖其
build()
方法。在构建器中具有受保护的构造函数,以 接受 要在其上设置值的实例:

public class MyPrimitiveObject {  private String identifier="unknown";  public static class Builder {    private final MyPrimitiveObject obj;    public MyPrimitiveObject build() { return obj; }    public Builder setidentifier (String val) {     obj.identifier = val;     return this;    }    public Builder() {        this(new MyPrimitiveObject());    }    public Builder(MyPrimitiveObject obj) {        this.obj = obj;    }  }  ...}public class MySophisticatedObject extends MyPrimitiveObject {  private String description;  public static class Builder extends MyPrimitiveObject.Builder {    private final MySophisticatedObject obj;    public Builder() {      this(new MySophisticatedObject());      super.setIdentifier(generateUUID());    }         public Builder(MySophisticatedObject obj) {      super(obj);      this.obj = obj;    }    public MySophisticatedObject build() {      return obj;    }    // Add pre to set the description etc.  }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5430121.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存