Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt eine oder mehrere Schnittstellen oder Schnittstellenmmber an, die in der Klassen- oder Strukturdefinition implementiert werden müssen, in der sie angezeigt wird.
Syntax
Implements interfacename [, ...]
' -or-
Implements interfacename.interfacemember [, ...]
Bestandteile
interfacename
Erforderlich. Eine Schnittstelle, deren Eigenschaften, Prozeduren und Ereignisse von entsprechenden Membern in der Klasse oder Struktur implementiert werden sollen.
interfacemember
Erforderlich. Das Element einer Schnittstelle, die implementiert wird.
Bemerkungen
Eine Schnittstelle ist eine Sammlung von Prototypen, die die Member (Eigenschaften, Prozeduren und Ereignisse) darstellen, die die Schnittstelle kapselt. Schnittstellen enthalten nur die Deklarationen für Member; Klassen und Strukturen implementieren diese Member. Weitere Informationen finden Sie unter Schnittstellen.
Die Implements Anweisung muss unmittelbar auf die Class Anweisung Structure folgen.
Wenn Sie eine Schnittstelle implementieren, müssen Sie alle elemente implementieren, die in der Schnittstelle deklariert sind. Das Weglassen eines Elements wird als Syntaxfehler betrachtet. Um ein einzelnes Element zu implementieren, geben Sie das Implements-Schlüsselwort (das von der Implements Anweisung getrennt ist) an, wenn Sie das Element in der Klasse oder Struktur deklarieren. Weitere Informationen finden Sie unter Schnittstellen.
Klassen können private Implementierungen von Eigenschaften und Prozeduren verwenden, aber auf diese Member kann nur zugegriffen werden, indem eine Instanz der implementierenden Klasse in eine Variable umgewandelt wird, die als Typ der Schnittstelle deklariert ist.
Beispiel 1
Das folgende Beispiel zeigt, wie Sie die Implements Anweisung verwenden, um Member einer Schnittstelle zu implementieren. Sie definiert eine Schnittstelle, die mit einem Ereignis, einer Eigenschaft und einer Prozedur benannt ICustomerInfo ist. Die Klasse customerInfo implementiert alle elemente, die in der Schnittstelle definiert sind.
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
Beachten Sie, dass die Klasse customerInfo die Implements Anweisung in einer separaten Quellcodezeile verwendet, um anzugeben, dass die Klasse alle Member der ICustomerInfo Schnittstelle implementiert. Anschließend verwendet jedes Element in der Klasse das Implements Schlüsselwort als Teil der Memberdeklaration, um anzugeben, dass es dieses Schnittstellenelement implementiert.
Beispiel 2
Die folgenden beiden Verfahren zeigen, wie Sie die im vorherigen Beispiel implementierte Schnittstelle verwenden können. Um die Implementierung zu testen, fügen Sie diese Prozeduren zu Ihrem Projekt hinzu, und rufen Sie die testImplements Prozedur auf.
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