Freigeben über


Inherits Statement

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

Syntax

Inherits basetypenames  

Bestandteile

Begriff Definition
basetypenames Erforderlich. Der Name der Klasse oder Schnittstelle, von der diese Klasse abgeleitet wird.

Oder

Die Namen der Schnittstellen, von denen diese Schnittstelle abgeleitet wird. Verwenden Sie Kommas zum Trennen mehrerer Namen.

Bemerkungen

Bei Verwendung muss die Inherits-Anweisung die erste nicht leere, nicht kommentierte Zeile in einer Klassen- oder Schnittstellendefinition sein. Sie sollte sofort auf die Class-oder Interface-Anweisung folgen.

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

Regeln

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

    Eine Klasse kann nicht von einer in ihr geschachtelten Klasse erben.

  • Schnittstellenvererbung. Wenn eine Schnittstelle die Inherits-Anweisung verwendet, können Sie mindestens eine Basisschnittstelle angeben. Sie können von zwei Schnittstellen auch dann erben, wenn diese jeweils einen Member mit demselben Namen definieren. Wenn Sie so vorgehen, muss der implementierende Code Namensqualifizierung verwenden, um anzugeben, welchen Member er implementiert.

    Eine Schnittstelle kann nicht von einer anderen Schnittstelle mit einer restriktiveren Zugriffsebene erben. Beispielsweise kann eine Public-Schnittstelle nicht von einer Friend-Schnittstelle erben.

    Eine Schnittstelle kann nicht von einer in ihr geschachtelten Schnittstelle erben.

Ein Beispiel für Klassenvererbung in .NET Framework ist die ArgumentException-Klasse, die von der SystemException-Klasse erbt. Dadurch werden alle vordefinierten Eigenschaften und Prozeduren für ArgumentException bereitgestellt, 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 Sammlung erforderlich ist.

Beispiel 1

Im folgenden Beispiel wird die Inherits-Anweisung verwendet, um zu zeigen, wie eine Klasse namens thisClass alle Member einer Basisklasse namens 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

Beispiel 2

Das folgende Beispiel zeigt die Vererbung mehrerer Schnittstellen.

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

Die Schnittstelle namens thisInterface enthält jetzt alle Definitionen in den IComparable-, IDisposable- und IFormattable-Schnittstellen. Die geerbten Member stellen jeweils einen typspezifischen Vergleich von zwei Objekten bereit, wobei zugeordnete Ressourcen freigegeben und der Wert eines Objekts als String ausgedrückt wird. Eine Klasse, die thisInterface implementiert, muss jeden Member jeder Basisschnittstelle implementieren.

Weitere Informationen