Udostępnij za pośrednictwem


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 interfejsu Friend .

    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.

Zobacz też