私は次のものを持っているとしましょう:
class Base {
public Base (int n) { }
public Base (Object1 n, Object2 m) { }
}
class Derived : Base {
string S;
public Derived (string s, int n) : base(n) {
S = s;
}
public Derived (string s, Object1 n, Object2 m) : base(n, m) {
S = s; // repeated
}
}
Derived の両方のオーバーロードで仮引数 n が必要であるため、このN = n;
行を繰り返さなければならないことに注意してください。
これで別のメソッドにカプセル化できることがわかりましたが、両方のオーバーロードから同じ 2 つのメソッドを呼び出す必要があります。それで、おそらくthis
と組み合わせて使用 することで、これを行うためのより「エレガントな」方法はありbase
ますか?
これは、1 つの引数を取るプライベート コンストラクターを持つことができs
、他の 2 つのオーバーロードがそれを呼び出すことができるようにするためです...または、これは別のプライベート メソッドを持つことと同じでしょうか?