petit pb classique, je pense.

petit pb classique, je pense. - Java - Programmation

Marsh Posté le 30-04-2003 à 16:31:28    

Salut
voila j'ai deux classes, et chacune a besoin d'appeler l'autre. or qd je construit l'une l'autre n'existe pas enkor et dc il y a une exception, et vise et versa.  
je crois k'il existe des solution pour remmedier a ce petit problem. mon problem. mon prof de prog nous en avait parlé. seulement la je suis en vacance et je peux pas lui poser la question. dc si une personne sur ce forum pouvais au moin m'eclairer un peu, ça m'eviterai une grosse attente pour resoudre ce pb. voila


Message édité par Lunatik3 le 30-04-2003 à 16:31:47
Reply

Marsh Posté le 30-04-2003 à 16:31:28   

Reply

Marsh Posté le 30-04-2003 à 16:39:06    

Donnes-nous un petit bout de code, parce que la je ne vois pas trop le probleme...
Tu peut faire:

Code :
  1. Cheval cheval = new Cheval();
  2. Chien chien = new Chien();
  3. cheval.setChien(chien);
  4. chien.setCheval(cheval);


Ou bien passer par des singletons.


---------------
Light is right
Reply

Marsh Posté le 30-04-2003 à 16:53:51    

je passerais par des singletons itou mais peux-tu nous filer ta façon de penser avec ces 2 classes ?
 
des getters (getMachin()) et des setters (setMachin(...)) ne te suffisent pas ?


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
Reply

Marsh Posté le 30-04-2003 à 16:55:14    

LunatiK3 a écrit :

Salut
voila j'ai deux classes, et chacune a besoin d'appeler l'autre. or qd je construit l'une l'autre n'existe pas enkor et dc il y a une exception, et vise et versa.  
je crois k'il existe des solution pour remmedier a ce petit problem. mon problem. mon prof de prog nous en avait parlé. seulement la je suis en vacance et je peux pas lui poser la question. dc si une personne sur ce forum pouvais au moin m'eclairer un peu, ça m'eviterai une grosse attente pour resoudre ce pb. voila


C'est le problème classique de la liste doublement chaînée.
La solution la plus propre est d'utiliser des instances Lazy (construit à la demande).
http://forum.hardware.fr/forum2.ph [...] h=&subcat=
 
 
Une autre est d'appliquer le pattern Observateur en observant les événements d'atachement et de détachement dans un sens et d'y répondre en s'atachant dans l'autre sens, l'inconvénient est la disymétrie dans la relation.
 
La solution avec des setter externes est à éviter car il existe une phase (avant l'application des setters) où ton objet est en vrac mais le compilo ne va pas t'empêcher de l'utiliser (sauf assertions bien placées). Le passage dans le constructeur est mieux (dans la limite où tu lui passe pas null).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed