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 einerFriend
-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.