C# 继承与构造函数的深度解析
1. 派生类构造函数的调用方式
派生类可以提供无参构造函数,即便基类没有无参构造函数。此时,派生类会为基类所需的参数提供一个常量值。另一种情况是,派生类直接将参数传递给基类。
以下是示例代码:
public class DerivedCallingBaseCtor : BaseNoDefau
{
public DerivedCallingBaseCtor()
: base(123)
{
Console.WriteLine("Derived constructor (d");
}
public DerivedCallingBaseCtor(int i)
: base(i)
{
Console.WriteLine($"Derived constructor: {i}");
}
}
如果基类有主构造函数,这对派生类没有影响。我们可以像调用其他基类构造函数一样调用基类的主构造函数。
2. 派生类主构造函数调用基类构造函数
当派生类有主构造函数时,如果需要向基类构造函数传递参数,可以在基类名称后提供参数列表。
示例代码如下:
public class BasePrimaryCtor(int i)
{
public override ToString() => $"Base {i}";
}
pu
超级会员免费看
订阅专栏 解锁全文
446

被折叠的 条评论
为什么被折叠?



