2012-11-14 135 views
1

當嘗試使用附加參數添加構造函數時,通常認爲哪種方法更受歡迎?一個子類還是一個包裝?那是,創建一個類的子類,然後使用該子類的構造函數?或者添加一個包裝器方法,它將接受額外的參數並返回一個包含該參數集的對象?子類vs Wrapper - 具有附加參數的構造函數

謝謝你的時間!

編輯:

我沒有訪問超類的代碼。

回答

1

答案是語言相關的。在C#/。NET中,一般會使用一個重載的構造函數:

public class Foo 
{ 
    private readonly string _greeting; 

    public Foo() : this("Hello") { } 

    public Foo(string greeting) { 
    _greeting = greeting; 
    } 

    //... 
} 
+0

謝謝,但你碰巧有一個建議,如果構造不能超載? – golmschenk

+0

同樣,這取決於。超類是密封的,還是可以繼承它?如果你可以繼承,我會像'Stream'類一樣使用子類。如果沒有,使用類似'HttpContextBase'的包裝器用於'HttpContext'。 – neontapir

相關問題