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 :

Accesseur ou attributs directement dans la classe


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut Accesseur ou attributs directement dans la classe
    Bonjour,

    j'ai une petite question de débutant en C# :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class Personne
        {
            public string nom{get; set;}
            public string prenom{get; set;}
     
            public string direBonjour(){
                return "bonjour " + this.nom + " " + this.prenom;
            }
    }
    Dans ce return, j'utilise mes accesseurs ou mes attributs ?
    Est-ce que le this. permet de faire la différences ?

    Merci.

    @+

  2. #2
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 823
    Par défaut
    Tel que tu l'as écrit, tu utilises tes propriétés (dont le nom commence normalement par une Majuscule). Donc, tu passes par les accesseurs des prop (get).
    This est facultatif.
    En ce qui concerne les champs privés derrière tes prop, ils ne te sont pas accessibles puisque non définis. Ce sera le compilateur qui les créera pour ses besoins.

  3. #3
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Le mieux serait peut-être d'avoir quelque chose comme ça :

    Code c# : 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
     
    public String nom {
        get { // Si tu veux autoriser la lecture
              return _nom;
        }
        set { // Si tu veux autoriser l'écriture
             _nom = value;
        }
    }
    private String _nom;
     
    // idem pour prenom
     
    public string direBonjour(){
                return "bonjour " + nom + " " + prenom;
                // return "bonjour " + _nom + " " + _prenom; marcherait aussi
            }

  4. #4
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    C'est une différence notable par rapport au java alors !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //code java
    public class Personne
        {
            private String nom;
            public String getNom(){
                 return nom;
            }
     
     
            public string direBonjour(){
                return "j'utilise mon accesseur" + getNom() + " j'utilise mon attribut" + nom;
            }
    }
    Merci pour ta réponse ;-)

    EDIT : ok si besoin d'avoir le champs directement il ne faut pas utiliser la méthode factorisée !
    Merci à vous deux :-)

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

Discussions similaires

  1. [1.x] Exécuter et récupérer résultat directement dans action.class
    Par Mainmich dans le forum Débuter
    Réponses: 5
    Dernier message: 09/01/2011, 23h03
  2. Attributs dynamiques dans une classe
    Par ratapapa dans le forum Langage
    Réponses: 2
    Dernier message: 16/12/2009, 17h16
  3. changer l'attribut etat dans une class
    Par amen_1919 dans le forum W4 Express
    Réponses: 16
    Dernier message: 07/05/2008, 13h03
  4. Réponses: 4
    Dernier message: 16/03/2008, 18h06
  5. Appel d'un attribut statique dans la classe courante
    Par picwic dans le forum Langage
    Réponses: 15
    Dernier message: 30/01/2008, 23h00

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