diagramme de classe vers Java

diagramme de classe vers Java - Java - Programmation

Marsh Posté le 08-01-2014 à 07:15:23    

Bonjour,  
 
s'il vous plait ; je veux savoir :  
 
Quand il faut que j'utilise  l'agrégation et la composition  entre deux classes  et  Comment je dois les interpréter en Java  
et merci d'avance !

Reply

Marsh Posté le 08-01-2014 à 07:15:23   

Reply

Marsh Posté le 08-01-2014 à 10:01:01    

de la même façon.  
 
Cordialement


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 08-01-2014 à 10:14:17    

??

Reply

Marsh Posté le 09-01-2014 à 11:13:07    

http://fr.wikipedia.org/wiki/Compo [...] mmation%29
http://fr.wikipedia.org/wiki/Agr%C [...] mmation%29
 
Ce qu'il faut retenir c'est que la composition est une agrégation forte.
Le carburateur disparait quand la voiture est broyée.
Le compte client est supprimé quand le client est radié.
 
Tout comme dans l'exemple wiki, tout dépend du contexte.
Le responsable de la casse auto récupère le carburateur quand la voiture est détruite.
 
Il n'y a pas de différence au niveau java, ce sont dans les deux cas des attributs de classes.
 
La différence est conceptuelle, et au niveau UML,  
les concepteurs et architectes font des brainstorming pour savoir si on met des losanges blancs ou noirs.
C'est rarement impactant pour les développeurs, mais ca permet de s'assurer que tout le monde est d'accord sur le fonctionnel.
 
Edit : quand à la question de savoir si tout le monde comprend ces subtilités niveau conceptuel / UML ... mort de rire.


Message édité par willy le kid le 09-01-2014 à 11:26:21
Reply

Marsh Posté le 10-01-2014 à 19:57:17    

Comme Willy l'a dit c'est une histoire de contexte et de savoir l'importance de l'élément agrégé par rapport à ta classe.
 
En java, même si les 2 notions se traduisent par des attributs de classe tu peux faire une petite nuance en traduisant la composition par un attribut final.

Reply

Sujets relatifs:

Leave a Replay

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