Delen via


Overname-instructie

Zorgt ervoor dat de huidige klasse of interface de kenmerken, variabelen, eigenschappen, procedures en gebeurtenissen van een andere klasse of set interfaces over neemt.

Syntaxis

Inherits basetypenames  

generator

Term Definitie
basetypenames Vereist. De naam van de klasse waaruit deze klasse is afgeleid.

– of –

De namen van de interfaces waaruit deze interface is afgeleid. Gebruik komma's om meerdere namen te scheiden.

Opmerkingen

Als deze wordt gebruikt, moet de Inherits instructie de eerste niet-lege regel zonder opmerking in een klasse- of interfacedefinitie zijn. Deze moet onmiddellijk de Class or-instructie Interface volgen.

U kunt alleen in een klasse of interface gebruiken Inherits . Dit betekent dat de declaratiecontext voor een overname geen bronbestand, naamruimte, structuur, module, procedure of blok kan zijn.

Regels

  • Overname van klassen. Als een klasse de Inherits instructie gebruikt, kunt u slechts één basisklasse opgeven.

    Een klasse kan niet overnemen van een klasse die erin is genest.

  • Overname van interface. Als een interface gebruikmaakt van de Inherits instructie, kunt u een of meer basisinterfaces opgeven. U kunt overnemen van twee interfaces, zelfs als ze elk een lid met dezelfde naam definiëren. Als u dit doet, moet de implementatiecode naamkwalificatie gebruiken om op te geven welk lid deze implementeert.

    Een interface kan niet worden overgenomen van een andere interface met een meer beperkend toegangsniveau. Een interface kan bijvoorbeeld Public niet worden overgenomen van een Friend interface.

    Een interface kan niet worden overgenomen van een interface die erin is genest.

Een voorbeeld van de overname van klassen in .NET Framework is de ArgumentException klasse die wordt overgenomen van de SystemException klasse. Dit biedt alle ArgumentException vooraf gedefinieerde eigenschappen en procedures die zijn vereist voor systeemuitzondering, zoals de Message eigenschap en de ToString methode.

Een voorbeeld van interfaceovername in .NET Framework is de ICollection interface, die van de IEnumerable interface wordt overgenomen. Dit zorgt ervoor ICollection dat de definitie van de enumerator wordt overgenomen die is vereist om een verzameling te doorlopen.

Voorbeeld 1

In het volgende voorbeeld wordt de Inherits instructie gebruikt om te laten zien hoe een klasse met de naam thisClass alle leden van een basisklasse anotherClasskan overnemen.

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

Voorbeeld 2

In het volgende voorbeeld ziet u de overname van meerdere interfaces.

Public Interface thisInterface
    Inherits IComparable, IDisposable, IFormattable
    ' Add new property, procedure, and event definitions.
End Interface

De interface met de naam thisInterface bevat nu alle definities in de IComparable, IDisposableen IFormattable interfaces De overgenomen leden bieden respectievelijk een typespecifieke vergelijking van twee objecten, het vrijgeven van toegewezen resources en het uitdrukken van de waarde van een object als een String. Een klasse die wordt geïmplementeerd thisInterface , moet elk lid van elke basisinterface implementeren.

Zie ook