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 eenFriend
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 anotherClass
kan 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.