Bonjour à tous,
j'ai une question qui me trotte dans la tête à chaque fois que je fais une classe...
Quelle différence concrête entre une variable "public" et un getter d'une variable privée ?
Merci d'avance pour votre réponse![]()
Bonjour à tous,
j'ai une question qui me trotte dans la tête à chaque fois que je fais une classe...
Quelle différence concrête entre une variable "public" et un getter d'une variable privée ?
Merci d'avance pour votre réponse![]()
Hello,
je suis désolé mais les Getter et les Setter non pour moi quasiment aucun sens en Objet.
En fait tout dépend de ce que tu demandes à ton Objet.
Par exemple, de mander l'état courant de ton Objet A par l'Objet B pour faire telle ou telle action ensuite...Hé bien c'est moche !
Dans ton cas, la différence est que ta variable privée accéder par getter ne peut pas être modifier comme une publique.
@+
merci pour cette réponse.
Alors imaginons que j'ai une variable public dans ma classe.
Si je créé une méthode dans laquelle j'utiliserais cette variable, devrais-je l'a déclarer en tant qu'argument ?
non, pas plus d'ailleurs si elle etait privee.
Une attribut d'une classe ne peux etre passé en argument à une operation de cette meme classe, sauf si l'opération en question est static.
[Mais on n'est pas dans le forum UML la ?]
Héhéhé... Si on est bien sur le forum UML mais justement, profitons-en pour rattrapper les brebis égarées !;o)
Donc effectivement, l'attribut d'un objet ne peut pas être tripoter par un autre objet ! Sinon, on se rapproche d'un architecture centralisée de type "Blob Objet", à savoir un énorme objet qui gère tous les autres petits... Donc une architecture sans intérêt !
@+
Je n'ai pas compris la question et encore moins les réponses
PS : un "blob object" ca n'existe pas, c'est un "god object" ...
Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS
Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android
Pourtant les questions me parraissaient claires...
- Différences entre private+get/set et public
- si il aet
Code : Sélectionner tout - Visualiser dans une fenêtre à part public int x;doit-il spécifier que toto prend x en parametre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part public void toto(...){print x;}
Le problème c'est que l'on est sur le forum UML et que ces divers détails ne devraient pas voir le jour ici à mon sens.
L'enorme intérêt des getters / setters est que mettons dans la version 1 une classe A accède à un attribut de B via ses accesseurs. Ca ne change pas beaucoup, finalement, du cas ou l'attribut est public.
Mettons maintenant qu'en v2, on décide qu'on va splitter la classe B et l'attribut se retrouve dans une classe "subordonnée" à B.
Il suffira de laisser les accesseur sur l'attribut de B dans B, mais en modifier le code pour qu'ils aillent taper dans C (au lieu de B précédemment) : on n'a pas à modifier A.
Autre intérêt : plutôt que d'avoir un attribut accéssible ou non, on peut avoir quatre modalités d'accès :
- Read/Write (un peut comme s'il était, finalement, public, mais en plus on peut faire des vérification sur la valeur dans le setter)
- ReadOnly (juste le getter)
- WriteOnly (juste le setter)
- noAccess (pas d'accesseur)
Voilou.
Partager