Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee geeft u een of meer interfaces of interfaceleden op die moeten worden geïmplementeerd in de klasse- of structuurdefinitie waarin deze wordt weergegeven.
Syntaxis
Implements interfacename [, ...]
' -or-
Implements interfacename.interfacemember [, ...]
Onderdelen
interfacename
Verplicht. Een interface waarvan de eigenschappen, procedures en gebeurtenissen moeten worden geïmplementeerd door overeenkomstige leden in de klasse of structuur.
interfacemember
Verplicht. Het lid van een interface die wordt geïmplementeerd.
Opmerkingen
Een interface is een verzameling prototypen die de leden (eigenschappen, procedures en gebeurtenissen) vertegenwoordigen die de interface inkapselt. Interfaces bevatten alleen de declaraties voor leden; klassen en structuren implementeren deze leden. Zie Interfaces voor meer informatie.
De Implements instructie moet onmiddellijk volgen op de Class or-instructie Structure .
Wanneer u een interface implementeert, moet u alle leden implementeren die in de interface zijn gedeclareerd. Het weglaten van een lid wordt beschouwd als een syntaxisfout. Als u een afzonderlijk lid wilt implementeren, geeft u het trefwoord Implements (dat los staat van de Implements instructie) op wanneer u het lid in de klasse of structuur declareert. Zie Interfaces voor meer informatie.
Klassen kunnen gebruikmaken van privé-implementaties van eigenschappen en procedures, maar deze leden zijn alleen toegankelijk door een exemplaar van de implementatieklasse in te stellen in een variabele die is gedeclareerd als van het type interface.
Voorbeeld 1
In het volgende voorbeeld ziet u hoe u de Implements instructie gebruikt om leden van een interface te implementeren. Hiermee definieert u een interface met een naam ICustomerInfo met een gebeurtenis, een eigenschap en een procedure. De klasse customerInfo implementeert alle leden die in de interface zijn gedefinieerd.
Public Interface ICustomerInfo
Event UpdateComplete()
Property CustomerName() As String
Sub UpdateCustomerStatus()
End Interface
Public Class customerInfo
Implements ICustomerInfo
' Storage for the property value.
Private customerNameValue As String
Public Event UpdateComplete() Implements ICustomerInfo.UpdateComplete
Public Property CustomerName() As String _
Implements ICustomerInfo.CustomerName
Get
Return customerNameValue
End Get
Set(ByVal value As String)
' The value parameter is passed to the Set procedure
' when the contents of this property are modified.
customerNameValue = value
End Set
End Property
Public Sub UpdateCustomerStatus() _
Implements ICustomerInfo.UpdateCustomerStatus
' Add code here to update the status of this account.
' Raise an event to indicate that this procedure is done.
RaiseEvent UpdateComplete()
End Sub
End Class
Houd er rekening mee dat de klasse customerInfo de Implements instructie op een afzonderlijke broncoderegel gebruikt om aan te geven dat de klasse alle leden van de ICustomerInfo interface implementeert. Vervolgens gebruikt elk lid in de klasse het Implements trefwoord als onderdeel van de liddeclaratie om aan te geven dat het dat interfacelid implementeert.
Voorbeeld 2
In de volgende twee procedures ziet u hoe u de interface kunt gebruiken die in het voorgaande voorbeeld is geïmplementeerd. Als u de implementatie wilt testen, voegt u deze procedures toe aan uw project en roept u de testImplements procedure aan.
Public Sub TestImplements()
' This procedure tests the interface implementation by
' creating an instance of the class that implements ICustomerInfo.
Dim cust As ICustomerInfo = New customerInfo()
' Associate an event handler with the event that is raised by
' the cust object.
AddHandler cust.UpdateComplete, AddressOf HandleUpdateComplete
' Set the CustomerName Property
cust.CustomerName = "Fred"
' Retrieve and display the CustomerName property.
MsgBox("Customer name is: " & cust.CustomerName)
' Call the UpdateCustomerStatus procedure, which raises the
' UpdateComplete event.
cust.UpdateCustomerStatus()
End Sub
Sub HandleUpdateComplete()
' This is the event handler for the UpdateComplete event.
MsgBox("Update is complete.")
End Sub