【发布时间】:2013-04-09 09:56:28
【问题描述】:
我目前有以下代码模式,我在通用类 MyClass 的构造函数中初始化 MyThing 类型的特定对象。但是,在一些特定的派生类示例(例如 MySpecialClass)中,我想使用 MyThing 的派生版本,我称之为 MySpecialThing。
public class MyClass
{
public MyClass()
{
this.MyThing = new MyThing();
}
public MyThing MyThing { get; set; }
}
public class MySpecialClass : MyClass
{
public MySpecialClass()
{
this.MyThing = new MySpecialThing();
}
}
我的问题是这是否是不好的做法,因为实际上 MyThing 属性被初始化了两次,一次在基类中,一次在派生类中。显然,我可以将一个布尔值传递给基类构造函数,或者告诉它不要打扰初始化 MyThing,但这可能有点矫枉过正......
【问题讨论】:
标签: c# oop constructor