说我有以下内容:
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;
行。
现在我知道这可以封装到一个单独的方法中,但是您仍然需要来自两个重载的相同的两个方法调用。那么,是否有一种更“优雅”的方式来做到这一点,也许是this
与 结合使用base
?
这样我就可以有一个私有构造函数接受一个参数s
,而其他两个重载可以调用那个......或者这可能与拥有一个单独的私有方法一样吗?