C# Programmierhandbuch
Vererbung (C#-Programmierhandbuch)

Klassen können von einer anderen Klasse erben. Dazu wird beim Deklarieren der Klasse hinter den Klassennamen ein Doppelpunkt und dann der Name der Klasse gesetzt, von der geerbt werden soll (Basisklasse). Beispiel:

C#
public class A
{
    public A() { }
}

public class B : A
{
    public B() { }
}

Die neue, abgeleitete Klasse erhält alle nicht privaten Daten und Verhaltensweisen der Basisklasse zusätzlich zu anderen Daten bzw. Verhaltensweisen, die sie selbst definiert. Die neue Klasse hat damit zwei effektive Typen: den Typ der neuen Klasse und den Typ der Klasse, die geerbt wird.

Im oben gezeigten Beispiel ist die Klasse B tatsächlich sowohl B als auch A. Wenn Sie auf ein B-Objekt zugreifen, können Sie es durch Typumwandlung zu einem A-Objekt konvertieren. Das B-Objekt wird durch die Umwandlung nicht geändert, sondern Sie sehen im B-Objekt nur noch die enthaltenen Daten und Verhaltensweisen von A. Ein B, das zu A umgewandelt wurde, kann auch wieder zu B zurückverwandelt werden. Nicht alle Instanzen von A können zu B umgewandelt werden – nur solche, die tatsächlich Instanzen von B sind. Wenn Sie auf eine Klasse B als B-Typ zugreifen, erhalten Sie die Daten und Verhaltensweisen beider Klassen, also von A und B. Die Fähigkeit eines Objekts, mehr als einen Typ darzustellen, wird als Polymorphie bezeichnet. Weitere Informationen finden Sie unter Polymorphismus (C#-Programmierhandbuch). Weitere Informationen zur Typumwandlung finden Sie unter Typumwandlung (C#-Programmierhandbuch).

Strukturen können nicht von anderen Strukturen oder Klassen erben. Sowohl Klassen als auch Strukturen können von einer oder mehreren Schnittstellen erben. Weitere Informationen finden Sie unter Schnittstellen (C#-Programmierhandbuch)

In diesem Abschnitt

Siehe auch

Referenz

Objekte, Klassen und Strukturen (C#-Programmierhandbuch)
class (C#-Referenz)
struct (C#-Referenz)

Konzepte

C# Programmierhandbuch

Page view tracker