両方ともオブジェクトを構築する2つのクラスがあり、現時点では、これらのクラスの両方に重複するコードがあります。たとえば、このコードはクラス1に存在します。
new Object("a", "b", "c");
コンストラクターへの引数の1つだけが異なります。したがって、このコードはクラス2に存在します。
new Object("x", "b", "c");
このコードの重複を取り除くためのパターンはありますか?
両方ともオブジェクトを構築する2つのクラスがあり、現時点では、これらのクラスの両方に重複するコードがあります。たとえば、このコードはクラス1に存在します。
new Object("a", "b", "c");
コンストラクターへの引数の1つだけが異なります。したがって、このコードはクラス2に存在します。
new Object("x", "b", "c");
このコードの重複を取り除くためのパターンはありますか?
クラスにコンストラクターを追加できます。
class MyObject {
MyObject(String a) {
this(a, "b", "c");
}
MyObject(String a, String b, String c) {
}
}
@Peter Lawreyの解決策は良いです。ただし、1 つ質問があります。定数引数が変更されないのに、なぜオブジェクト コンストラクターに定数引数を渡すのでしょうか。これらの定数パラメーターを削除すると、次のようになります。
public MyObject(String a){
this.a = a;
this.b = "b";
this.c = "c";
}