【发布时间】:2011-05-31 11:19:16
【问题描述】:
可能的重复:
Constructors and Inheritance
Why are constructors not inherited?
定义从基类继承的类时,我必须重新定义它的所有构造函数。 我想知道为什么 C# 不支持从基类的构造函数继承?
【问题讨论】:
-
不要认为它是用任何其他语言(如 Java)完成的。仅从子类调用默认 ctor(如果有)。
-
好吧,因为它是一个不同的对象。 (功能相同)
-
@KarlKnechtel 因为如果在子类中没有显式定义构造函数,则允许复制基类中的构造函数是有意义的。基类可能具有您可以使用构造函数设置的变量,例如 (X, Y, Color) 不会在派生类中更改,即构造函数仍然有效。
-
@KarlKnechtel 出于同样的原因继承所有其他公共方法?
标签: c# .net inheritance constructor