Passage d'argument par reference[urgent svp]

asetti Messages postés 61 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 15 mai 2010 - 28 juil. 2004 à 16:52
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 - 29 juil. 2004 à 11:04
Salut,
je reprend un programme qui imbrique un tas de classe de la manière suivante :
une classe GDE contient une classe Affaire qui contient plusieurs classe Item qui contiennent chacune plusieurs classe Groupes qui ...
Bien sur, il y a une interface pour chacun des objet créer ci-dessus (c'est à dire une pour GDE, une pour affaire, une pour chaque item, une pour chaque groupe ect...)
La personne qui la commencer ne devais pas connaitre l'héritage (ni les threads mais pour une autre raison). Voila la méthode utilisé :
On créer un objet GDE dans l'ihm "SaisirGDE" puis on construit l'ihm "saisirAffaire" en lui passant GDE (tout en enregistrer dans cette classe car on imbrique tout dedans) en argument. Cette dernière ihm créer sa clase affaire puis construit les ihm "saisirFamille" en lui passant gde ainsi de suite.
Mon probleme c'est que gd doit copié à chaque fois q'u'on le passe.
Quand je lit le GDE bout de l'arborescence, on arrive à le lire mais si je récupère le GDE de départ qui à été passer en argument , rien n'a été enregistrer.
Je pense qu'il faut que je le passe en reference mais j'en suit pas sur.
Si c'est le cas pouvez vous me dire comment on fait pour le passer en reference.
voilà la méthode utilisé pour créer un objet :
new SaisirFamilles(gd);
et de l'autre coté :
public SaisirFamilles(GDE gd){
....}
Si quelqu'un à une réponse au prob, peut il me faire signe rapidement
J'utilise JbuilderX (Java)
Merci

4 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
29 juil. 2004 à 08:53
le java ne passe jamais rien en copi, il passe tout en reference!
(sauf les primitives int char byte boolean double...)
0
asetti Messages postés 61 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 15 mai 2010
29 juil. 2004 à 10:57
ok, c'est bien se qu'il me semblait, mais alors pourquoi c'est pas pris en compte dans les objets que j'ai passé en paramètre
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
29 juil. 2004 à 11:04
GodConan :clown)

en fait il faut dc verifier que tu fait bien la diference entre reference et instance ds tes methodes ... qd tu passe la ref gd ds ta methode tu pointe bien vers l objet referencé ;o) et dc le risk c de le modifier sans le faire expre... ;o) et d autre part si tu refait un gd = new ds ta methode tu perf la reference sur l objet de base c est l erreur la plus courante ... now sans le code ;o) on peut pas vraiment cerner le prob ;o)...
0
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
29 juil. 2004 à 11:04
je vois deux cas : c'est si tu fais

-> new SaisirFamilles(gd); avec gd=null
-> gd=new GDE() dans public SaisirFamilles(GDE gd){...}
0
Rejoignez-nous