Inherits-Anweisung

Aktualisiert: November 2007

Bewirkt, dass die aktuelle Klasse oder Schnittstelle Attribute, Variablen, Eigenschaften, Prozeduren und Ereignisse von einer anderen Klasse oder Gruppe von Schnittstellen erbt.

Inherits basetypenames

Bestandteile

  • basetypenames
    Erforderlich. Der Name der Klasse, von der diese Klasse abgeleitet wird.

    – oder –

    Die Namen der Schnittstellen, von denen diese Schnittstelle abgeleitet wird. Trennen Sie mehrere Namen mit Komma.

Hinweise

Die Inherits-Anweisung muss die erste nicht leere, kommentarlose Zeile in einer Klassen- oder Schnittstellendefinition sein. Sie muss direkt auf die Class-Anweisung oder die Interface-Anweisung folgen.

Sie können Inherits nur in einer Klasse oder einer Schnittstelle verwenden. Daher kann der Deklarationskontext für Vererbung keine Quelldatei, kein Namespace, keine Struktur, kein Modul, keine Prozedur und kein Block sein.

Regeln

  • Klassenvererbung. Wenn eine Klasse die Inherits-Anweisung verwendet, können Sie nur eine Basisklasse angeben.

    Eine Klasse kann nicht von einer Klasse erben, die in ihr geschachtelt ist.

  • Schnittstellenvererbung. Wenn eine Schnittstelle die Inherits-Anweisung verwendet, können Sie eine oder mehrere Basisschnittstellen angeben. Sie können zwei Schnittstellen vererben, auch wenn jede Schnittstelle einen Member mit dem gleichen Namen definiert. In diesem Fall muss der implementierende Code Namensqualifizierung verwenden, um anzugeben, welcher Member implementiert wird.

    Eine Schnittstelle kann nicht von einer anderen Schnittstelle mit einer restriktiveren Zugriffsebene erben. Eine Schnittstelle mit Public-Zugriff kann beispielweise nicht von einer Schnittstelle mit Friend-Zugriff erben.

    Eine Schnittstelle kann nicht von einer Schnittstelle erben, die in ihr geschachtelt ist.

Ein Beispiel für Klassenvererbung in .NET Framework ist die ArgumentException-Klasse, die von der SystemException-Klasse erbt. Hierdurch erhält ArgumentException alle vordefinierten Eigenschaften und Prozeduren, die für Systemausnahmen erforderlich sind, z. B. die Message-Eigenschaft und die ToString-Methode.

Ein Beispiel für Schnittstellenvererbung in .NET Framework ist die ICollection-Schnittstelle, die von der IEnumerable-Schnittstelle erbt. Dies bewirkt, dass ICollection die Definition des Enumerators erbt, der zum Durchlaufen einer Auflistung erforderlich ist.

Beispiel

In diesem Beispiel wird die Inherits-Anweisung verwendet, um zu zeigen, wie die Klasse thisClass alle Member der Basisklasse anotherClass erben kann.

Public Class thisClass
    Inherits anotherClass
    ' Add code to override, overload, or extend members 
    ' inherited from the base class.
    ' Add new variable, property, procedure, and event declarations.
End Class

Im folgenden Beispiel wird die Vererbung von mehreren Schnittstellen veranschaulicht.

Public Interface thisInterface
    Inherits IComparable, IDisposable, IFormattable
    ' Add new property, procedure, and event definitions.
End Interface

Die Schnittstelle thisInterface enthält jetzt alle Definitionen in den Schnittstellen IComparable, IDisposable und IFormattable. Die geerbten Member ermöglichen den typspezifischen Vergleich von zwei Objekten, die Freigabe reservierter Ressourcen bzw. die Darstellung des Werts eines Objekts als String. Eine Klasse, die thisInterface implementiert, muss jeden Member jeder Basisschnittstelle implementieren.

Siehe auch

Konzepte

Beispiele zur Implementierung von Schnittstellen in Visual Basic

Referenz

MustInherit

NotInheritable

MyBase

MyClass

Weitere Ressourcen

Vererbung in Visual Basic