Ame*_*kic 2 java constructor initialization
正如问题所述,创建这样的构造函数和初始值设定项是否更好(伪代码):
public Component()
{
this.arrayList = new ArrayList<String>();
}
public void initialize()
{
this.value = parse(this.xml);
arrayList.add(value);
}
Run Code Online (Sandbox Code Playgroud)
在我的情况下,初始化必须从 xml 文档中读取并解析值。该类还会有许多其他成员,这些成员将使用单独的、更复杂的方法进行初始化。在这种情况下,最佳做法是什么?
有用于复杂初始化的构建器模式。
X x = X.create()
.setA(4)
.setB("b")
.end();
class X {
private X() { }
public static XBuilder create() {
}
public static class XBuilder {
private X x;
X end() {
return x;
}
XBuilder setA(int a) {
x.setA(a);
return this;
}
XBuilder setB(String b) {
x.setB(b);
return this;
}
}
Run Code Online (Sandbox Code Playgroud)
它使用流畅的接口、链式调用,可用于检查完整的初始化,在end().
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |