Inherits — Instrukcja
Powoduje, że bieżąca klasa lub interfejs dziedziczą atrybuty, zmienne, właściwości, procedury i zdarzenia z innej klasy lub zestawu interfejsów.
Składnia
Inherits basetypenames
generatora
Termin | Definicja |
---|---|
basetypenames |
Wymagany. Nazwa klasy, z której pochodzi ta klasa. — lub — Nazwy interfejsów, z których pochodzi ten interfejs. Użyj przecinków, aby oddzielić wiele nazw. |
Uwagi
Jeśli jest Inherits
używana, instrukcja musi być pierwszym wierszem niepustym, innym niż komentarz w definicji klasy lub interfejsu. Powinna natychmiast postępować zgodnie z instrukcją Class
or Interface
.
Można używać Inherits
tylko w klasie lub interfejsie. Oznacza to, że kontekst deklaracji dziedziczenia nie może być plikiem źródłowym, przestrzenią nazw, strukturą, modułem, procedurą lub blokiem.
Reguły
Dziedziczenie klas. Jeśli klasa używa instrukcji
Inherits
, można określić tylko jedną klasę bazową.Klasa nie może dziedziczyć z klasy zagnieżdżonej w niej.
Dziedziczenie interfejsu. Jeśli interfejs używa instrukcji
Inherits
, możesz określić jeden lub więcej interfejsów podstawowych. Można dziedziczyć z dwóch interfejsów, nawet jeśli każdy z nich definiuje element członkowski o tej samej nazwie. Jeśli to zrobisz, kod implementowania musi używać kwalifikacji nazwy, aby określić, który element członkowski implementuje.Interfejs nie może dziedziczyć z innego interfejsu z bardziej restrykcyjnym poziomem dostępu. Na przykład
Public
interfejs nie może dziedziczyć z interfejsuFriend
.Interfejs nie może dziedziczyć z interfejsu zagnieżdżonego w nim.
Przykładem dziedziczenia klas w programie .NET Framework jest ArgumentException klasa, która dziedziczy z SystemException klasy . ArgumentException Zapewnia to wszystkie wstępnie zdefiniowane właściwości i procedury wymagane przez wyjątki systemowe, takie jak Message właściwość i ToString metoda.
Przykładem dziedziczenia interfejsu w programie .NET Framework jest ICollection interfejs, który dziedziczy z interfejsu IEnumerable . ICollection Powoduje to dziedziczenie definicji modułu wyliczającego wymaganego do przechodzenia przez kolekcję.
Przykład 1
W poniższym przykładzie użyto instrukcji Inherits
, aby pokazać, jak klasa o nazwie thisClass
może dziedziczyć wszystkie elementy członkowskie klasy bazowej o nazwie anotherClass
.
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
Przykład 2
Poniższy przykład przedstawia dziedziczenie wielu interfejsów.
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
Interfejs o nazwie thisInterface
zawiera teraz wszystkie definicje w IComparableelementach , IDisposablei IFormattable interfejsy Dziedziczone elementy członkowskie zapewniają odpowiednio porównanie dwóch obiektów specyficznych dla typu, zwalniając przydzielone zasoby i wyrażając wartość obiektu jako String
. Klasa, która implementuje thisInterface
, musi implementować każdy element członkowski każdego interfejsu podstawowego.