C# 语言调用基类的构造函数

示例

在执行派生类的构造函数之前,将调用基类的构造函数。例如,如果Mammalextends Animal,则Animal在创建a的实例时首先调用的构造函数中包含的代码Mammal。

如果派生类未明确指定应调用基类的构造函数,则编译器将采用无参数构造函数。

public class Animal
{
    public Animal() { Console.WriteLine("一只不知名的动物出生。"); }
    public Animal(string name) { Console.WriteLine(name + " 出生"); }
}

public class Mammal : Animal
{
    public Mammal(string name)
    {
        Console.WriteLine(name + " 是哺乳动物。");
    }
}

在这种情况下,Mammal通过调用实例化anew Mammal("George the Cat")将打印

一只不知名的动物出生。
猫乔治(George the Cat)是哺乳动物。

调用基类的另一个构造函数是通过在构造函数的签名及其主体之间放置:: base(args)

public class Mammal : Animal
{
    public Mammal(string name) : base(name)
    {
        Console.WriteLine(name + " 是哺乳动物。");
    }
}

new Mammal("George the Cat")现在将打印呼叫:

猫乔治(George the Cat)出生。
猫乔治(George the Cat)是哺乳动物。