【问题标题】:Subclass vs Wrapper - Constructor With An Additional Parameter子类与包装器 - 带有附加参数的构造函数
【发布时间】:2012-11-14 16:44:46
【问题描述】:

在尝试添加带有附加参数的构造函数时,通常认为哪种方法更受欢迎?子类还是包装器?也就是说,创建该类的子类,然后只使用该子类的构造函数?或者添加一个包装器方法,该方法将采用额外的参数并返回具有该参数集的对象?

感谢您的宝贵时间!

编辑:

我无权访问超类的代码。

【问题讨论】:

    标签: class parameters constructor subclass wrapper


    【解决方案1】:

    答案取决于语言。在 C#/.NET 中,您通常会使用重载的构造函数:

    public class Foo 
    {
       private readonly string _greeting;
    
       public Foo() : this("Hello") { }
    
       public Foo(string greeting) {
         _greeting = greeting;
       } 
    
       //...
    }
    

    【讨论】:

    • 谢谢,但是如果构造函数不能重载,你有没有建议?
    • 再次,这取决于。超类是密封的,还是可以继承它?如果你可以继承,我会使用像Stream 类这样的子类。如果没有,请使用 HttpContextBase 之类的包装器,用于 HttpContext
    猜你喜欢
    • 2013-10-22
    • 1970-01-01
    • 2022-11-15
    • 2021-07-05
    • 1970-01-01
    • 2014-11-06
    • 2011-05-07
    • 2016-04-11
    • 2021-09-23
    相关资源
    最近更新 更多