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

avec Java Discussion :

Notions de Getters et Setters


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Par défaut Notions de Getters et Setters
    Bonjour tout le monde,

    Est-ce que quelqu'un peut m'aider a trouver un bon document java qui explique les getters et Setters?
    S'il vou plait.

    Merci

  2. #2
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Les getter/setter sont des méthodes d'une classe permettant l'accès à un attribut particulier.

    Ex :

    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
     
    public class Personne {
     
      private String nom;
      private int age;
     
      // Getter sur la variable nom
      public String getNom(){
        return nom;
      }
     
      // Setter sur la variable nom
      public void setNom( String nom ){
        this.nom = nom;
      }
     
      // Getter sur la variable age
      public int getAge(){
        return age;
      }
     
      // Setter sur la variable age
      public void setAge( int age ){
        this.age= age;
      }
    }
    Dans un contexte de programmation orienté objet, on préférera toujours utiliser des getter/setter plutôt que de laisser les variable en accès public. On peut ainsi par exemple limiter l'accès à une donnée uniquement en lecture en écrivant le getter mais pas le setter.

    De plus, si il y a des conditions pour l'accès à ta donnée, il sera beaucoup plus simple de maintenir un code utilisant des getter/setter car en modifiant la fonction, on répercute de fait la modification partout où celle ci est appelé. Alors que sinon il faut repasser partout où tu fais appel directement à cette donnée.

    Cdt.

  3. #3
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Nico je suis un peu réticent en ce qui concerne l'exemple. je préfererais un truc qui ressemble à ça :
    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
     
    public class Personne {
       private final String nom;
       private final LocalDate dateNaissance ;
       private  boolean digneDeConfiance ;
     
       public Personne (String nom, LocalDate dateNaissance) {
           this.nom = nom ;
           this.dateNaissance = dateNaissance ;
      }
     
     public String getNom() { .....}
     public int getAge() { ... /*calcul */ ... }
     public boolean isDignedeConfiance() {.....}
     public void setDigneDeConfiance(boolean ouiOuNon) { .....}
    }
    à mon (pas très humble) avis mieux vaut éviter des "set" sur des choses qu'on ne devrait pas changer ....

  4. #4
    Membre éclairé
    Homme Profil pro
    :-)
    Inscrit en
    Mars 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : :-)
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2014
    Messages : 194
    Par défaut
    Salut,

    Je ne suis moi meme qu'un debutant,cependant j'ai assez bien compris ces 2 notions.
    =>getter:permet de recuperer une donnee
    par ex:la taille d'une fenetre ouverte
    =>setter:permet d'acceder a une donnee et de la modifier
    par ex:quant une cible est en mouvemt est qu'elle atteint le bord max de la fenetre tu lui impose de retourner a une certaine place sur ton ecran.

    Je te le redis je suis un debutant,donc fait plutot confiance a des avis de plus confirme que moi.
    Salut.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Pif_Paf_Pouf Voir le message
    Je ne suis moi meme qu'un debutant,cependant j'ai asse bien compris ces 2 notions.
    =>getter:permet de recuperer une donnee
    par ex:la taille d'une fenetre ouverte
    =>setter:permet d'acceder a une donnee et de la modifier
    par ex:quant une cible est en mouvemt est qu'elle atteint le bord max de la fenetre tu lui impose de retourner a une certaine place sur ton ecran.
    Bien sûr mais, la question évidente qui se pose ensuite, c'est pourquoi on définit des getters et setters au lieu de juste donner une visibilité publique à la variable correspondante .

    La réponse étant vaste, mais le principe de base étant déjà donné dans les réponses du dessus.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé
    Homme Profil pro
    :-)
    Inscrit en
    Mars 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : :-)
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2014
    Messages : 194
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Bien sûr mais, la question évidente qui se pose ensuite, c'est pourquoi on définit des getters et setters au lieu de juste donner une visibilité publique à la variable correspondante .

    La réponse étant vaste, mais le principe de base étant déjà donné dans les réponses du dessus.
    Tu as raison la question est vaste,et je ne serais y repondre,pour ma part ca vient plutot intuitivemt,je me dis a un moment de ma programmation:"tiens une methde get/set me serait utile ici".

Discussions similaires

  1. Les Getters et Setters en Java
    Par faressam dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 18/04/2012, 16h40
  2. [Postsharp] Manager les getter et setter d'une propriété
    Par anthyme dans le forum Framework .NET
    Réponses: 4
    Dernier message: 13/01/2009, 11h19
  3. getters and setters ?
    Par zippeurfou dans le forum Eclipse C & C++
    Réponses: 4
    Dernier message: 12/07/2008, 11h53
  4. Réponses: 11
    Dernier message: 23/03/2007, 19h38
  5. Generation automatique des Getter et Setter
    Par VAPRO dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/03/2007, 12h11

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