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
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.
Dans l'Explorateur de solutions, sélectionnez Persons.vb, puis dans le menu Affichage, cliquez sur Code.
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
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
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