Ärver -instruktion
Gör att den aktuella klassen eller gränssnittet ärver attribut, variabler, egenskaper, procedurer och händelser från en annan klass eller uppsättning gränssnitt.
Syntax
Inherits basetypenames
Delar
Period | Definition |
---|---|
basetypenames |
Obligatoriska. Namnet på klassen som den här klassen härleds från. -eller- Namnen på de gränssnitt som det här gränssnittet härleds från. Använd kommatecken för att separera flera namn. |
Kommentarer
Om den används måste -instruktionen Inherits
vara den första icke-tomma, icke-kommentarsraden i en klass- eller gränssnittsdefinition. Den bör omedelbart följa instruktionen Class
eller Interface
.
Du kan bara använda Inherits
i en klass eller ett gränssnitt. Det innebär att deklarationskontexten för ett arv inte kan vara en källfil, namnrymd, struktur, modul, procedur eller block.
Regler
Klassarv. Om en klass använder -instruktionen
Inherits
kan du bara ange en basklass.En klass kan inte ärva från en klass som är kapslad i den.
Gränssnittsarv. Om ett gränssnitt använder -instruktionen
Inherits
kan du ange ett eller flera basgränssnitt. Du kan ärva från två gränssnitt även om de definierar en medlem med samma namn. Om du gör det måste implementeringskoden använda namnkvalifikation för att ange vilken medlem den implementerar.Ett gränssnitt kan inte ärva från ett annat gränssnitt med en mer restriktiv åtkomstnivå. Ett gränssnitt kan till exempel
Public
inte ärva från ettFriend
gränssnitt.Ett gränssnitt kan inte ärva från ett gränssnitt som är kapslat i det.
Ett exempel på klassarv i .NET Framework är ArgumentException klassen som ärver från SystemException klassen. Detta ger till ArgumentException alla fördefinierade egenskaper och procedurer som krävs av systemfel, till exempel Message egenskapen och ToString metoden.
Ett exempel på gränssnittsarv i .NET Framework är gränssnittet ICollection , som ärver från IEnumerable gränssnittet. Detta gör ICollection att du ärver definitionen av uppräknaren som krävs för att bläddra i en samling.
Exempel 1
I följande exempel används -instruktionen Inherits
för att visa hur en klass med namnet thisClass
kan ärva alla medlemmar i en basklass med namnet 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
Exempel 2
I följande exempel visas arv av flera gränssnitt.
Public Interface thisInterface
Inherits IComparable, IDisposable, IFormattable
' Add new property, procedure, and event definitions.
End Interface
Gränssnittet med namnet thisInterface
innehåller nu alla definitioner i gränssnitten IComparable, IDisposableoch IFormattable De ärvda medlemmarna anger för typspecifik jämförelse av två objekt, frigör allokerade resurser och uttrycker värdet för ett objekt som en String
. En klass som implementerar thisInterface
måste implementera varje medlem i varje basgränssnitt.