1
當嘗試使用附加參數添加構造函數時,通常認爲哪種方法更受歡迎?一個子類還是一個包裝?那是,創建一個類的子類,然後使用該子類的構造函數?或者添加一個包裝器方法,它將接受額外的參數並返回一個包含該參數集的對象?子類vs Wrapper - 具有附加參數的構造函數
謝謝你的時間!
編輯:
我沒有訪問超類的代碼。
當嘗試使用附加參數添加構造函數時,通常認爲哪種方法更受歡迎?一個子類還是一個包裝?那是,創建一個類的子類,然後使用該子類的構造函數?或者添加一個包裝器方法,它將接受額外的參數並返回一個包含該參數集的對象?子類vs Wrapper - 具有附加參數的構造函數
謝謝你的時間!
編輯:
我沒有訪問超類的代碼。
答案是語言相關的。在C#/。NET中,一般會使用一個重載的構造函數:
public class Foo
{
private readonly string _greeting;
public Foo() : this("Hello") { }
public Foo(string greeting) {
_greeting = greeting;
}
//...
}
謝謝,但你碰巧有一個建議,如果構造不能超載? – golmschenk
同樣,這取決於。超類是密封的,還是可以繼承它?如果你可以繼承,我會像'Stream'類一樣使用子類。如果沒有,使用類似'HttpContextBase'的包裝器用於'HttpContext'。 – neontapir