说我有以下几点:构造结合链与底座构造函数调用
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
}
}
注意我是如何需要通过正规的参数n中的两个重载的获得,因此我必须重复N = n;
线。
现在我知道这可以封装到一个单独的方法,但你仍然需要从两个重载相同的两个方法调用。那么,有没有更好的方法来做到这一点,或许可以使用this
和base
?
这是我可以有一个私人构造函数采取一个参数s
和其他两个重载可以调用那一个......或者这可能就像拥有一个单独的私有方法一样吗?
有什么问题打电话是从接受额外的构造函数中的其他构造函数重载参数? 'this(s,n)'而不是'base(n,m)' – 2011-02-26 12:25:56
我修改了这个问题,使它更好地反映了我目前的情况。我改变了重载基构造函数的参数类型。 – 2011-02-26 12:29:42
啊,非常好。我最初并没有将其作为答案发布,因为我认为我错过了一些明显的东西。结果确实如此。 – 2011-02-26 12:30:56