Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Les interfaces décrivent les caractéristiques des propriétés, des méthodes et des événements, mais conservent les détails de l’implémentation aux structures ou aux classes.
Cette procédure pas à pas montre comment déclarer et implémenter une interface.
Remarque
Cette procédure pas à pas ne fournit pas d’informations sur la création d’une interface utilisateur.
Remarque
Votre ordinateur peut afficher différents noms ou emplacements pour certains des éléments de l’interface utilisateur Visual Studio dans les instructions suivantes. L’édition Visual Studio que vous avez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d’informations, consultez Personnaliser l’IDE.
Pour définir une interface
Ouvrez un nouveau projet d’application Windows Visual Basic.
Ajoutez un nouveau module au projet en cliquant sur Ajouter un module dans le menu Projet .
Nommez le nouveau module
Module1.vb, puis cliquez sur Ajouter. Le code du nouveau module s’affiche.Définissez une interface nommée
TestInterfacedansModule1en tapantInterface TestInterfaceentre les instructionsModuleetEnd Module, puis en appuyant sur ENTRÉE. L’Éditeur de code met en retrait leInterfacemot clé et ajoute uneEnd Interfaceinstruction pour former un bloc de code.Définissez une propriété, une méthode et un événement pour l’interface en plaçant le code suivant entre les instructions
InterfaceetEnd Interface.Property Prop1() As Integer Sub Method1(ByVal X As Integer) Event Event1()
Implémentation
Vous remarquerez peut-être que la syntaxe utilisée pour déclarer des membres d’interface est différente de la syntaxe utilisée pour déclarer des membres de classe. Cette différence reflète le fait que les interfaces ne peuvent pas contenir de code d’implémentation.
Pour implémenter l’interface
Ajoutez une classe nommée
ImplementationClassen ajoutant l’instruction suivante àModule1, après l’instructionEnd Interface, mais avant l’instructionEnd Module, puis en appuyant sur ENTRÉE :Class ImplementationClassSi vous travaillez dans l’environnement de développement intégré, l’Éditeur de code fournit une instruction correspondante
End Classlorsque vous appuyez sur Entrée.Ajoutez l’instruction suivante
ImplementsàImplementationClass, qui nomme l’interface que la classe implémente :Implements TestInterfaceLorsqu’elle est répertoriée séparément d’autres éléments en haut d’une classe ou d’une structure, l’instruction
Implementsindique que la classe ou la structure implémente une interface.Si vous travaillez dans l’environnement de développement intégré, l’Éditeur de code implémente les membres de classe requis par
TestInterfacelorsque vous appuyez sur Entrée, et vous pouvez ignorer l’étape suivante.Si vous ne travaillez pas dans l’environnement de développement intégré, vous devez implémenter tous les membres de l’interface
MyInterface. Ajoutez le code suivant àImplementationClasspour implémenterEvent1,Method1, etProp1:Event Event1() Implements TestInterface.Event1 Public Sub Method1(ByVal X As Integer) Implements TestInterface.Method1 End Sub Public Property Prop1() As Integer Implements TestInterface.Prop1 Get End Get Set(ByVal value As Integer) End Set End PropertyL’instruction
Implementsnomme l’interface et le membre de l’interface implémentés.Terminez la définition de
Prop1en ajoutant un champ privé à la classe pour stocker la valeur de la propriété.' Holds the value of the property. Private pval As IntegerRetourne la valeur de
pvalà partir de l’accesseur get de la propriété.Return pvalDéfinit la valeur de
pvaldans l’accesseur set de la propriété.pval = valueTerminez la définition de
Method1en ajoutant le code suivant.MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
Pour tester l’implémentation de l’interface
Cliquez avec le bouton droit sur le formulaire de démarrage de votre projet dans l’Explorateur de solutions, puis cliquez sur Afficher le code. L’éditeur affiche la classe de votre formulaire de démarrage. Par défaut, le formulaire de démarrage est appelé
Form1.Ajoutez le champ suivant
testInstanceà laForm1classe :Dim WithEvents testInstance As TestInterfaceEn déclarant
testInstanceen tant queWithEvents, laForm1classe peut gérer ses événements.Ajoutez le gestionnaire d’événements suivant à la
Form1classe pour gérer les événements déclenchés partestInstance:Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End SubAjoutez une sous-routine nommée
Testà laForm1classe pour tester la classe d’implémentation :Sub Test() ' Create an instance of the class. Dim T As New ImplementationClass ' Assign the class instance to the interface. ' Calls to the interface members are ' executed through the class instance. testInstance = T ' Set a property. testInstance.Prop1 = 9 ' Read the property. MsgBox("Prop1 was set to " & testInstance.Prop1) ' Test the method and raise an event. testInstance.Method1(5) End SubLa
Testprocédure crée une instance de la classe qui implémenteMyInterface, affecte cette instance autestInstancechamp, définit une propriété et exécute une méthode via l’interface.Ajoutez du code pour appeler la
Testprocédure à partir de laForm1 Loadprocédure de votre formulaire de démarrage :Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Test() ' Test the class. End SubExécutez la
Testprocédure en appuyant sur F5. Le message « Prop1 a été défini sur 9 » s’affiche. Une fois que vous avez cliqué sur OK, le message « Le paramètre X pour Method1 est 5 » s’affiche. Cliquez sur OK, et le message « Le gestionnaire d’événements a intercepté l’événement » s’affiche.