2012-11-14 94 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

相关问题