Comment faire pour définir et utiliser les propriétés dans Visual Basic .NET ou Visual Basic 2005

Traductions disponibles Traductions disponibles
Numéro d'article: 308230 - Voir les produits auxquels s'applique cet article
Pour une version de Visual C# .NET de cet article, voir 319265.
Agrandir tout | Réduire tout

Sommaire

Résumé

Un objectif important de nombreux langages de programmation orientée objet est de vous permettent d'encapsuler les détails internes dans une classe. Visual Basic .NET ou Visual Basic 2005 permet de définir des propriétés pour fournir un accès contrôlé aux détails internes dans une classe. Cet article explique comment vous pouvez définir et utiliser des propriétés dans une application Visual Basic .NET ou Visual Basic 2005.

Une propriété peut être en lecture seule, en écriture seule ou en lecture-écriture. Un accesseur Get offre un accès en lecture et un accesseur Set fournit un accès en écriture. Vous pouvez ajouter code à ces accesseurs pour fournir la fonctionnalité appropriée pour récupérer ou définir la propriété.

Dans cet article, vous créez une classe nommée employés . Dans cette classe, vous définissez une propriété en lecture-écriture pour le nom de l'employé, une propriété pour lire le salaire de l'employé et une propriété pour calculer la durée l'employé a travaillé de la société. Vous puis créez un objet employé dans votre application et que vous utilisez ses propriétés.

Configuration requise

La liste suivante met en évidence le matériel recommandé, logiciel infrastructure réseau et service packs sont requis :
  • Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005
Cet article suppose que vous êtes familiarisé avec les sujets suivants :
  • Syntaxe de Visual Basic .NET ou Visual Basic 2005
  • Concepts orientée objet

Créer une application qui contient un Visual Basic .NET ou de Visual Basic 2005 classe

  1. Démarrez Visual Studio .NET ou Visual Studio 2005 et créez un projet nouveau Visual Basic .NET ou application de console Visual Basic 2005, nommé EmployeeProperties.
  2. Dans le menu projet , cliquez sur Ajouter une classe . Dans la boîte de dialogue Ajouter un nouvel élément , tapez Employee.vb dans la zone de texte Nom et puis cliquez sur Ouvrir .

    note Dans Visual Studio 2005, cliquez sur Ajouter au lieu d'ouvrir .
  3. Examinez le code de la nouvelle classe dans la fenêtre du mode Code.

Définir les champs, constructeurs et méthodes

  1. Ajoutez trois champs privés à la classe employé , comme suit :
    Private Name As String
    Private Salary As Decimal
    Private HireDate As DateTime
    					
  2. Définir un constructeur de la classe initialiser les champs de la classe d'employés , comme suit :
    Public Sub New(ByVal Name As String, _
                   ByVal Salary As Decimal, _
                   ByVal HireDate As DateTime)
       Me.Name = Name
       Me.Salary = Salary
       Me.HireDate = HireDate
    End Sub
    					
  3. Ajoutez une méthode publique à la classe, comme suit :
    Public Sub PayRise(ByVal Amount As Decimal)
       Me.Salary += Amount
    End Sub
    					

Définir les propriétés de la classe

  1. Ajoutez le code suivant pour ajouter une propriété en lecture-écriture nommée FullName . L'accesseur Get renvoie le nom de l'employé. L'accesseur Set utilise le paramètre valeur qui est transmis dans l'accesseur Set pour définir le nom de l'employé.
    Public Property FullName() As String
       Get
          Return Me.Name
       End Get
       Set(ByVal Value As String)
          Me.Name = Value
       End Set
    End Property
    					
  2. Ajoutez le code suivant pour ajouter une propriété en lecture seule nommée Prestations . L'accesseur Get renvoie le salaire de l'employé. Il n'existe aucun accesseur Set car le salaire ne peut pas être défini directement ; la seule manière de modifier le salaire est d'appeler la méthode PayRise .
    Public ReadOnly Property Remuneration() As Decimal
       Get
          Return Me.Salary
       End Get
    End Property
    					
  3. Ajoutez le code suivant pour ajouter une autre propriété en lecture seule nommée DaysSinceJoined . L'accesseur Get calcule combien de jours de l'employé a travaillé de la société.
    Public ReadOnly Property DaysSinceJoined() As Integer
       Get
          Dim timespan As TimeSpan = DateTime.Now.Subtract(Me.HireDate)
          return timespan.Days
       End Get
    End Property
    					

Créer un objet et utiliser les propriétés

  1. Afficher le code de Module1.vb dans la fenêtre du mode Code.
  2. Dans la méthode main , utilisez l'opérateur New pour créer un objet employé . Affecter la référence objet à une variable locale employé , comme suit :
    Dim worker As New Employee( "Jayne Doe", _
                                 125000, _
                                 New DateTime(1998, 7, 31) )
    					
  3. Ajoutez le code suivant pour changer l'employé propriété FullName . Il appelle implicitement l'accesseur Set de la propriété FullName .
    worker.FullName = "Jayne Lafayette"
    					
  4. Ajoutez le code suivant pour afficher les détails de l'employé en utilisant les accesseurs Get pour les propriétés FullName , rémunérations et DaysSinceJoined :
    Console.WriteLine("Full name: " & worker.FullName)
    Console.WriteLine("Remuneration: " & worker.Remuneration)
    Console.WriteLine("Days since joined: " & worker.DaysSinceJoined)
    					

Testez l'application

  1. Générez et exécutez l'application.
  2. L'application affiche les informations suivantes dans la console (la valeur « jours depuis joint » dépend de la date du jour) :
    Full name: Jayne Lafayette
    Remuneration: 125000
    Days since joined: 1139
    						
  3. Retourner au fichier Module1.vb dans la fenêtre du mode Code, puis ajoutez le code suivant à la fin de votre méthode principale :
    worker.Remuneration = 1000000
    					
  4. Essayez de générer l'application. Vous recevez une erreur de compilation car rémunérations est une propriété en lecture seule.
  5. Modifier l'instruction comme suit :
    worker.Salary = 1000000
    					
  6. Essayez de générer à nouveau l'application. Vous recevez une autre erreur de compilation car le champ Salary est marqué comme privé . La seule façon de modifier le salaire de l'employé est d'utiliser la méthode public PayRise .

Propriétés

Numéro d'article: 308230 - Dernière mise à jour: mercredi 6 décembre 2006 - Version: 3.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Initiation
  • Microsoft Visual Basic .NET 2002 Initiation
Mots-clés : 
kbmt kbvs2005applies kbvs2005swept kbhowtomaster KB308230 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 308230
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com