C# Language Chiamando il costruttore della classe base


Esempio

Un costruttore di una classe base viene chiamato prima che venga eseguito un costruttore di una classe derivata. Ad esempio, se Mammal estende Animal , il codice contenuto nel costruttore di Animal viene chiamato prima quando si crea un'istanza di un Mammal .

Se una classe derivata non specifica esplicitamente quale costruttore della classe base deve essere chiamato, il compilatore assume il costruttore senza parametri.

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.");
    }
}

In questo caso, l'istanzializzazione di un Mammal chiamando il new Mammal("George the Cat") verrà stampata

Un animale sconosciuto nasce.
George the Cat è un mammifero.

Visualizza la demo

La chiamata a un diverso costruttore della classe base viene effettuata posizionando : base(args) tra la firma del costruttore e il suo corpo:

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

Chiamando il new Mammal("George the Cat") ora stamperà:

George the Cat nasce.
George the Cat è un mammifero.

Visualizza la demo