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 :

Question sur méthodes set/get


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 77
    Points : 49
    Points
    49
    Par défaut Question sur méthodes set/get
    Saluut,

    j'ai une question sur les méthodes susnommées; je crois avoir bien compris leur utilité, c'est à dire qu'elles servent a lire un attribut d'un objet ou à le modifier quand celui ci est en private ,
    et c'est en fait là ou je comprends plus car il est possible de modifier la valeur d'un attribut avec une méthode set alors que l'attribut est censé etre "private",
    donc pourquoi mettre un private alors qu'on pourrait le modifier directement par l'objet ?

    Voila ,je sais pas si je me suis bien exprimé mais globalement c'est l'interet du private qui me pose probleme.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    On peut vouloir modifier une variable membre d'une classe de manière plus subtile qu'une simple affectation :

    • Ajouter un contrôle sur les valeurs, pour empêcher de mettre des valeurs abhérentes
    • Vouloir adapter la valeur, comme par exemple, passer une chaîne de caractères en majuscule
    • On peut vouloir mettre à jour d'autres variables qui dépendent de la valeur de la variable modifiée par le mutateur, comme un cache par exemple, ou mettre à jour des ressources associées
    • On peut vouloir faire un setter avec un type d'argument, alors que la variable est d'un autre type (par exemple une méthode setImage() avec un argument de type java.io.File, alors que la variable image est une java.awt.Image.
    • On peut vouloir contrôler le moment où la variable peut être modifiée
    • Etc.


    Le fait d'avoir la variable en private, empêche sa modification en direct, et oblige à passer par le setter. En plus, lorsqu'il n'y a pas de mutateur, le private permet d'avoir des variables qu'on ne peut pas modifier depuis l'extérieur de l'instance.


    Idem pour l'accesseur (le getter), sauf qu'on contrôle la lecture.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 77
    Points : 49
    Points
    49
    Par défaut
    Ok merci une fois de plus pour tes indications

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

Discussions similaires

  1. Question sur union-set
    Par pierrotlenageur dans le forum SL & STL
    Réponses: 1
    Dernier message: 04/11/2008, 15h20
  2. Questions sur méthodes d'un objet appelant threads
    Par med365 dans le forum Général Python
    Réponses: 8
    Dernier message: 26/06/2008, 15h14
  3. [POO] Questions sur une classe get
    Par beegees dans le forum Langage
    Réponses: 8
    Dernier message: 10/05/2007, 10h40
  4. question sur les "set/list"
    Par deubelte dans le forum C++
    Réponses: 12
    Dernier message: 29/12/2006, 01h16

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