1

我有两个类都构建一个对象,目前这两个类中都有重复的代码,例如这个代码存在于类 1 中:

new Object("a", "b", "c");

构造函数的参数只有一个不同。所以这段代码存在于类 2 中:

new Object("x", "b", "c");

有什么模式可以摆脱这种代码重复吗?

4

2 回答 2

5

您可以向该类添加构造函数。

class MyObject {
    MyObject(String a) {
       this(a, "b", "c");
    }

    MyObject(String a, String b, String c) {
    }
}
于 2011-11-12T15:18:53.903 回答
1

@Peter Lawrey 的解决方案很好。但是有一个问题,如果常量参数不变,为什么要将它们传递给对象构造函数?如果删除这些常量参数,您最终会得到:

public MyObject(String a){
   this.a = a;
   this.b = "b";
   this.c = "c";
}
于 2011-11-12T16:27:49.133 回答