Looking for c# Keywords? Try Ask4Keywords

C# Language Вызов конструктора базового класса


пример

Вызывается конструктор базового класса перед выполнением конструктора производного класса. Например, если Mammal расширяет Animal , тогда код, содержащийся в конструкторе Animal вызывается первым при создании экземпляра Mammal .

Если производный класс явно не указывает, какой конструктор базового класса следует вызывать, компилятор принимает конструктор без параметров.

public class Animal
{
    public Animal() { Console.WriteLine("An unknown animal gets born."); }
    public Animal(string name) { Console.WriteLine(name + " gets born"); }
}

public class Mammal : Animal
{
    public Mammal(string name)
    {
        Console.WriteLine(name + " is a mammal.");
    }
}

В этом случае создание экземпляра Mammal путем вызова new Mammal("George the Cat") напечатает

Появляется неизвестное животное.
Джордж Кошка - млекопитающее.

Посмотреть демо

Вызов другого конструктора базового класса выполняется путем размещения : base(args) между сигнатурой конструктора и его телом:

public class Mammal : Animal
{
    public Mammal(string name) : base(name)
    {
        Console.WriteLine(name + " is a mammal.");
    }
}

Вызов new Mammal("George the Cat") теперь напечатает:

Джордж Кот рождается.
Джордж Кошка - млекопитающее.

Посмотреть демо