Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Spécifie une ou plusieurs interfaces, ou membres d’interface, qui doivent être implémentées dans la définition de classe ou de structure dans laquelle elle apparaît.
Syntaxe
Implements interfacename [, ...]
' -or-
Implements interfacename.interfacemember [, ...]
Pièces
interfacename
Obligatoire. Interface dont les propriétés, procédures et événements doivent être implémentés par des membres correspondants dans la classe ou la structure.
interfacemember
Obligatoire. Membre d’une interface en cours d’implémentation.
Remarques
Une interface est une collection de prototypes représentant les membres (propriétés, procédures et événements) encapsulés par l’interface. Les interfaces contiennent uniquement les déclarations des membres ; classes et structures implémentent ces membres. Pour plus d’informations, consultez Interfaces.
L’instruction Implements
doit immédiatement suivre l’instruction ou Structure
l’instructionClass
.
Lorsque vous implémentez une interface, vous devez implémenter tous les membres déclarés dans l’interface. L’omission d’un membre est considérée comme une erreur de syntaxe. Pour implémenter un membre individuel, vous spécifiez le mot clé Implements (qui est distinct de l’instruction Implements
) lorsque vous déclarez le membre dans la classe ou la structure. Pour plus d’informations, consultez Interfaces.
Les classes peuvent utiliser des implémentations privées de propriétés et de procédures, mais ces membres sont accessibles uniquement en cas de conversion d’une instance de la classe d’implémentation dans une variable déclarée comme du type de l’interface.
Exemple 1
L’exemple suivant montre comment utiliser l’instruction Implements
pour implémenter des membres d’une interface. Il définit une interface nommée ICustomerInfo
avec un événement, une propriété et une procédure. La classe customerInfo
implémente tous les membres définis dans l’interface.
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
Notez que la classe customerInfo
utilise l’instruction Implements
sur une ligne de code source distincte pour indiquer que la classe implémente tous les membres de l’interface ICustomerInfo
. Ensuite, chaque membre de la classe utilise le Implements
mot clé dans le cadre de sa déclaration de membre pour indiquer qu’il implémente ce membre d’interface.
Exemple 2
Les deux procédures suivantes montrent comment utiliser l’interface implémentée dans l’exemple précédent. Pour tester l’implémentation, ajoutez ces procédures à votre projet et appelez la testImplements
procédure.
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