說我有以下幾點:構造結合鏈與底座構造函數調用
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