Tout petit probleme

campgourou Messages postés 7 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 25 juin 2006 - 27 févr. 2006 à 16:34
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 28 févr. 2006 à 06:46
bonjour a tous jai un tout petit probleme

voila g deux clase diferente et jaurai aimes savoir comment envoyer un variable de la classe un a la classe 2

cordialement
mike

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 févr. 2006 à 17:13
une variable de classe que tu veux copier d'une classe à l'autre ???

Le plus simple reste de faire des fonctions accesseurs : une fonction qui renvoie la valeur d'une variable de classe dans ta première classe, et une fonction qui définit la valeur d'une variable dans ta deuxième classe.

En Poo, il faut éviter les variables publiques !!!

_

<spa></spa>
0
etudev Messages postés 47 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 23 mai 2006
27 févr. 2006 à 22:57
salut ,
etant une debutante en java j'aimerai savoir pourquoi il faut eviter les variables publiques.


je m'exuse d'avoir poser ma question ici mais le message de DARKSIDIOUS a attirer mon attention.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
27 févr. 2006 à 23:11
Ca doit permettre d'avoir du code plus sur (pour être sur que les données soient toujours cohérentes). Par exemple tu as un champ taille dans la classe Bonhomme, ben si tu fais bonhomme.setTaille(-2), ca va te déclencher une exception ou une autre erreur.
Si tu mets ca en public, tu fais bonhomme.taille = -2, et ca passe sans problème.
Après c'est pas non plus une obligation. Moi pour mes classes perso je le fais pas car je pense que c'est une perte de temps
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 févr. 2006 à 06:46
Cela permet plusieurs choses :

Une meilleure maintenance (si tu veux renommer tes variables par exemple, tu peux le faire sans risquer de perdre la compatibiltié ascendendante de tes classes tant que tu ne touche pas aux fonctions accesseurs)
Une meilleure lisibilité (des fonctions get/set permettent de comprendre ce que tu fais, par rapport à un nom de variable non explicite)
Utiliser des acronymes pour le nom de tes variables tout en gardant des noms explicites pour tes fonctions accesseurs
Un debuggage simplifié : va tester qui modifie ta variable x, et à quel moment ! Alors qu'avec une fonction accesseur, tu peux facilement imprimer quand elle a était appellée.
Tu peux limiter l'accès à une variable : ne permettre que la lecture avec une seule fonction get, que l'écriture avec une seule fonction set, ou l'accès en lecture/écriture avec le couple get/set. (extrémement dangeureux de laisser l'accès en écriture pour des variables importantes dans une classe !!!).
Une approche bien plus objet : en objet, tu n'ai pas censé savoir si la classe x ou y utilise une liste chaînée ou un tableau, donc avec des fonctions addItem, DeleteItem, etc, tu peux gérer ton type de données dérrière très simplement, et surtout, le modifier au cours du temps si besoin, sans que l'utilisateur ne s'en rende compte !

Bref, je n'y vois que des avantages !

_

<spa></spa>
0
Rejoignez-nous