class Complicatedobject { private String fIEld1; private String fIEld2; private int fIEld3; private Complicatedobject(Builder builder) { this.fIEld1 = builder.myFIEld1; this.fIEld2 = builder.myFIEld2; this.fIEld3 = builder.myFIEld3; } public static class Builder { private String myFIEld1 = "some default"; private String myFIEld2 = "some other default"; private int myFIEld3 = -1; public Builder() { } public Builder fIEld1(String val) { this.myFIEld1 = val; return this; } public Builder fIEld2(String val) { this.myFIEld2 = val; return this; } public Builder fIEld3(int val) { this.myFIEld3 = val; return this; } public Complicatedobject build() { return new Complicatedobject(this); } } public static voID main(final String[] args) { //built like this Complicatedobject obj = new Complicatedobject.Builder().fIEld1("blah").fIEld2("lol").fIEld3(4).build(); }}解决方法 它不仅可以适应C,而且习惯用法改编自C语言.
我想我第一次听说这个成语是在Java出现之前. IIRC Bjarne Stroustrup在C第2版中提到了这一点,解释了为什么C不需要Smalltalk样式命名参数.
我可能会把我的约会错了,但这在C大约15岁.
编辑:它似乎首先在C(6.5.1)的设计和演变中描述,它被称为命名函数参数
总结以上是内存溢出为你收集整理的c中有效的java builder成语等价?全部内容,希望文章能够帮你解决c中有效的java builder成语等价?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)