1

両方ともオブジェクトを構築する2つのクラスがあり、現時点では、これらのクラスの両方に重複するコードがあります。たとえば、このコードはクラス1に存在します。

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

コンストラクターへの引数の1つだけが異なります。したがって、このコードはクラス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の解決策は良いです。ただし、1 つ質問があります。定数引数が変更されないのに、なぜオブジェクト コンストラクターに定数引数を渡すのでしょうか。これらの定数パラメーターを削除すると、次のようになります。

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