Présentation détaillée : création de plusieurs versions de la même méthode avec surcharge

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez comment ajouter plusieurs versions d'une méthode à votre classe.

Dans la leçon précédente, vous avez appris comment ajouter des méthodes à la classe Persons. Dans certains cas, une méthode seule ne suffit pas. Par exemple, vous pouvez devoir passer différents types de données à la méthode selon des situations différentes, ou vous pouvez souhaiter retourner en conséquence des formats différents.

Vous pouvez créer plusieurs versions d'une méthode à l'aide d'une technique appelée surcharge. Lorsqu'une classe dispose de plusieurs méthodes dotées du même nom, mais de jeux d'arguments distincts, la méthode est dite surchargée.

Surcharge

Pour créer une méthode surchargée, ajoutez plusieurs procédures Sub ou Function à votre classe, portant chacune le même nom. Dans les déclarations de procédure, le jeu d'arguments de chaque procédure doit être distinct. Dans la négative, une erreur se produit.

Le code suivant illustre une méthode qui présente deux surcharges : une qui accepte un type String et l'autre qui accepte un type Integer, en tant qu'argument.

Public Sub TestFunction(ByVal input As String)
    MsgBox(input)
End Sub
Public Sub TestFunction(ByVal input As Integer)
    MsgBox(CStr(input))
End Sub

Si vous deviez appeler cette méthode depuis votre code et lui passer une chaîne, la première surcharge serait exécutée et un message afficherait la chaîne ; si vous lui passiez un nombre, la seconde surcharge serait exécutée et le nombre serait converti en une chaîne, puis affiché dans le message.

Vous pouvez créer autant de surcharges que nécessaire ; chaque surcharge peut contenir un nombre différent d'arguments.

Dans la classe Persons, vous ajouterez une méthode avec deux surcharges pour retourner l'initiale du deuxième prénom d'une personne : une avec seulement l'initiale, l'autre avec l'initiale suivie d'un point.

Essayez !

Pour créer une méthode surchargée

  1. Ouvrez le projet Persons que vous avez créé dans la leçon précédente. Si vous ne l'avez pas enregistré, revenez à la leçon précédente, Ajout de méthodes à une classe, et terminez les procédures.

  2. Dans l'Explorateur de solutions, sélectionnez Persons.vb, puis dans le menu Affichage, choisissez Code.

  3. Ajoutez le code suivant sous les méthodes existantes.

    Public Function MiddleInitial() As String
        MiddleInitial = Left$(middleNameValue, 1)
    End Function
    
    Public Function MiddleInitial(ByVal period As Boolean) As String
        MiddleInitial = Left$(middleNameValue, 1) & "."
    End Function
    
  4. Dans le menu Fichier, choisissez Enregistrer tout pour enregistrer votre travail.

Étapes suivantes

Dans cette leçon, vous avez appris comment créer une méthode surchargée. Dans la leçon suivante, vous apprendrez comment ajouter des événements à la classe.

Leçon suivante : Ajout d'événements à une classe

Voir aussi

Tâches

Ajout de méthodes à une classe

Concepts

Considérations sur les surcharges de procédures

Autres ressources

Programmation avec des objets : utilisation de classes

Visite guidée de Visual Basic