Ajout de méthodes à une classe

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez comment ajouter des méthodes à une classe afin qu'elle puisse effectuer des actions.

Dans une leçon précédente, Présentation détaillée : description des propriétés, des méthodes et des événements, vous avez appris que la plupart des objets disposaient d'actions qu'ils peuvent effectuer ; ces actions sont connues sous le nom de méthodes. La classe Persons que vous avez créée dans la leçon Modélisation d'un objet réel : création de votre première classe représente une personne. Il est possible d'exécuter de nombreuses actions, et pour la classe Persons, ces actions peuvent être exprimées sous forme de méthodes de classe.

Méthodes de classe

Les méthodes d'une classe sont les procédures Sub ou Function déclarées dans la classe. Par exemple, une classe Account peut disposer d'une procédure Sub, nommée Recalculate, qui mettrait à jour le solde d'un compte bancaire, ou d'une procédure CurrentBalanceFunction qui retournerait le solde le plus récent. Le code permettant de déclarer ces méthodes peut se présenter comme suit :

Public Sub Recalculate()
    ' add code to recalculate the account.
End Sub
Public Function CurrentBalance(ByVal AccountNumber As Integer) As Double
    ' add code to return a balance.
End Function

Si la plupart des méthodes de classe sont publiques, vous pouvez également ajouter des méthodes utilisables uniquement par la classe elle-même. Par exemple, la classe Persons peut disposer de sa propre fonction pour calculer l'âge d'une personne. Si vous déclarez la fonction comme étant de type Private, celle-ci ne peut être ni vue ni appelée depuis l'extérieur de la classe.

Le code d'une fonction privée peut se présenter comme suit :

Private Function CalcAge(ByVal year As Integer) As Integer
    CalcAge = My.Computer.Clock.LocalTime.Year - year
End Function

Si vous modifiez ultérieurement le code qui calcule la valeur de CalcAge, la méthode n'en fonctionnera pas moins parfaitement, et ce sans nécessiter aucune modification des codes qui l'utilisent. La dissimulation du code qui exécute la méthode est connue sous le nom d'encapsulation.

Dans la classe Persons, vous allez créer une méthode publique qui retourne un nom complet, et une fonction privée qui calcule l'âge.

Essayez !

Pour ajouter une méthode à votre classe

  1. Ouvrez le projet Persons que vous avez créé dans la leçon précédente. Si vous ne l'aviez pas enregistré, vous devez d'abord revenir à la leçon précédente, Ajout de propriétés à une classe, et réaliser les procédures qu'elle contient.

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

  3. Ajoutez le code suivant sous les procédures de propriété.

    Public Function FullName() As String
        If middleNameValue <> "" Then
            FullName = firstNameValue & " " & middleNameValue & " " _
                                      & lastNameValue
        Else
            FullName = firstNameValue & " " & lastNameValue
        End If
    End Function
    
    Private Function CalcAge(ByVal year As Integer) As Integer
        CalcAge = My.Computer.Clock.LocalTime.Year - year
    End Function
    
  4. Modifiez le code dans la procédure de propriété Age de sorte à utiliser la fonction privée.

    ReadOnly Property Age() As String
        Get
            ' Age = My.Computer.Clock.LocalTime.Year - birthDateValue
            Age = CalcAge(birthYearValue)
        End Get
    End Property
    
  5. Dans le menu Fichier, cliquez sur Enregistrer tout pour enregistrer votre travail.

Étapes suivantes

Dans cette leçon, vous avez appris comment ajouter à la fois des méthodes publiques et privées à une classe. Vous pouvez approfondir vos connaissances sur les méthodes dans Présentation détaillée : création de plusieurs versions de la même méthode avec surcharge ou passer à la leçon suivante et apprendre à ajouter des événements à votre classe.

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

Voir aussi

Tâches

Ajout de propriétés à une classe

Autres ressources

Programmation avec des objets : utilisation de classes