IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Programmation objet - Changement de valeur get/set [Débutant]


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    sans emploi
    Inscrit en
    Octobre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Octobre 2014
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Programmation objet - Changement de valeur get/set
    Bonjour/Bonsoir,

    Je débute la programmation et mon choix s'est arrêté sur .NET. Bref, passons,

    En lisant les tutos, j'ai pus comprendre à quoi servait les accesseurs, méthodes, etc... Voici donc mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace Programme
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Nouvel objet
                Client Luc = new Client("Luke", "Skywalker", 26);
     
                Luc.GetInfos();  // J'affiche les informations
                Luc.Nom = "Dark Vador"; // Je change le nom
                Luc.GetInfos(); // J'affiche les informations
                Console.ReadKey(); //J'attends une donnée
            }
        }
    }
    Ma classe Client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace Programme
    {
        class Client
        {
            // Methodes
            private string _nom;
            public string Nom { get; set; }
            private string _prenom;
            private int _age;
     
            // Constructeur
            public Client(string nom, string prenom, int age)
            {
                this._nom = nom;
                this._prenom = prenom;
                this._age = age;
            }
     
            // Fonctions
            // Afficher les informations du client dans la console
            public void GetInfos()
            {
                Console.WriteLine("{0} {1} a {2} ans", this._nom, this._prenom, this._age);
            }
        }
    }
    Peut être que rien ne vous a choquer. Et pour cause, l'erreur n'est peut être pas flagrante. Voici le code qui pose problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                Luc.GetInfos(); // Je récupère les informations sur Luc
                Luc.Nom = "Dark Vador"; // Je change le nom de Luc en Dark Vador
                Luc.GetInfos(); // J'affiche les informations de Luc, désormais Dark Vador
                Console.ReadKey();
    Ce code me retourne:
    Luc Skylewalker a 26 ans
    Luc Skylewalker a 26 ans // Ici ça devrait être Dark Vador

    J'ai essayé de passé en debug breakpoint + F11 mais je ne vois pas la raison pour laquel il ne passe pas dans le set.

    Si l'un de vous peux m'aiguiller ce serait sympatique

    Merci à vous !

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Août 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 19
    Points : 115
    Points
    115
    Par défaut
    En fait, dans ton code, il n'y a aucun lien entre la variable "_nom" et la propriété "nom".
    Pour la classe client, ce sont des infos complètements différentes.

    en C#, tu n'a pas besoin de définir ta variable de stockage.

    ton "public string Nom { get; set; }" s'occupe de tout pour toi

    tu peux donc supprimer ta définition de _nom, et appeler directement ta propriété Nom dans ta classe client

  3. #3
    Futur Membre du Club
    Homme Profil pro
    sans emploi
    Inscrit en
    Octobre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Octobre 2014
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Ah bah voilà

    C'est donc résolu, merci à toi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Méthodes Get/Set en Programmation Orientée Objet
    Par ghada97 dans le forum MATLAB
    Réponses: 32
    Dernier message: 20/11/2013, 13h25
  2. Réponses: 9
    Dernier message: 13/01/2010, 00h09
  3. Réponses: 5
    Dernier message: 18/01/2008, 12h06
  4. get set modifier valeur
    Par jcaspar dans le forum Langage
    Réponses: 1
    Dernier message: 11/03/2007, 02h36
  5. Réponses: 7
    Dernier message: 23/01/2007, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo