Dela via


Ä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 ett Friend 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.

Se även