我有两个构建对象的类,目前这两个类中都有重复的代码,例如这个代码存在于类1中:
new Object("a", "b", "c");
构造函数中只有一个参数有所不同。所以这段代码存在于第2课:
new Object("x", "b", "c");
是否有任何模式可以摆脱此代码重复?
答案 0 :(得分:5)
您可以在类中添加构造函数。
class MyObject {
MyObject(String a) {
this(a, "b", "c");
}
MyObject(String a, String b, String c) {
}
}
答案 1 :(得分:1)
@Peter Lawrey的解决方案很好。 但是有一个问题,如果不改变,为什么要将常量参数传递给对象构造函数呢? 如果删除这些常量参数,最终会得到:
public MyObject(String a){
this.a = a;
this.b = "b";
this.c = "c";
}