C# Language Estendere una classe base astratta


Esempio

A differenza delle interfacce, che possono essere descritte come contratti per l'implementazione, le classi astratte fungono da contratti per l'estensione.

Una classe astratta non può essere istanziata, deve essere estesa e la classe risultante (o classe derivata) può quindi essere istanziata.

Le classi astratte vengono utilizzate per fornire implementazioni generiche

public abstract class Car
{
    public void HonkHorn() {
        // Implementation of horn being honked
    }
}

public class Mustang : Car
{
    // Simply by extending the abstract class Car, the Mustang can HonkHorn()
    // If Car were an interface, the HonkHorn method would need to be included
    // in every class that implemented it.
}

L'esempio sopra mostra come qualsiasi classe che estende l'auto riceverà automaticamente il metodo HonkHorn con l'implementazione. Ciò significa che qualsiasi sviluppatore che crea una nuova auto non dovrà preoccuparsi di come suonerà il clacson.