je viens de faire le diagramme de classe de mon Projet et j'utilise des classes interne pour l'interface graphique de mon application comment modéliser ces classes dans le diagramme de classe
je viens de faire le diagramme de classe de mon Projet et j'utilise des classes interne pour l'interface graphique de mon application comment modéliser ces classes dans le diagramme de classe
en utilisant une composition (qui est une agregation plus forte)
je ne vois pas trop le rapport avec la question
mais le problème c'est que j'ai du mal à comprendre la question, dans le sens ou ne je vois pas en quoi le fait qu'il s'agisse de classes internes (mais sans doute faudrait-il plutôt dire externes s'il s'agit de classes d'une librairie externe) change quelque chose au niveau modélisation. Une classe est une classe, non ?
Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour)
N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML
Il y a une différence entre une composition et une agrégation. La composition (avec le losange en noir) signifie que le projet n'existe pas en dehors des classInterne. Voici ce que cela donne en implémentation
interneA et interneB sont des class internes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class projet { class interneA{} class interneB(){} ... }
Si je mets une agrégation (losange blanc/transparent) à la place alors les class interneA et interneB se trouve en dehors de la class projet, voilà pour la seule différence que je connaisse.
Au niveau de la modélisation ca change juste de couleur.
je connais la différence entre composition et agrégation (en tant qu'auteur de Bouml c'est quand même la moindre des choses), mais reste que je ne vois toujours pas le rapport avec la question initiale ...
premièrement je ne suis pas certain (mais je peux me tromper) qu'une classe interne soit une classe définie dans une autre (ie nested)
deuxièmement le choix entre composition et agrégation donne une information sur la durée de vie des instances, ce qui n'a rien à voir avec la portée de la définition d'une classe
troisièmement il existe une notation UML dédiée indiquant d'une classe est imbriquée dans une autre, mais elle utilise un + dans un cercle et non un losange, exemple :
Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour)
N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML
Il y a un exemple qui est donnée dans le livre UML et les Design Pattern, l'implémentation est donnée en Java et C# et cela ressemble au bout de code et à la modélisation que j'ai donné plus haut. C'est appelé également class interne ou ma mémoire me fait défaut...premièrement je ne suis pas certain (mais je peux me tromper) qu'une classe interne soit une classe définie dans une autre (ie nested)
Du coup je ne comprends pas cette remarque, puisqu'un objet de class interne ne peut pas exister et être instancié en dehors de la class qui l'englobe. Pour l'implémentation c'est ce qui est donné.deuxièmement le choix entre composition et agrégation donne une information sur la durée de vie des instances, ce qui n'a rien à voir avec la portée de la définition d'une classe
Il s'agit aussi peut-être de purisme...
Puisque le posteur à l'air de vouloir faire du reverse ingénierie il serait profitable pour lui de fournir un minima de code qu'il souhaite modéliser qu'on ne part pas sur des hypothèses foireuses![]()
tu confonds toujours la portée lexicale de la définition de la classe et la durée de vie de ses instances, ces deux concepts non absolument rien a voir, c'est comme si tu pouvais dire que de l'eau est ou non potable en fonction de la taille de la carafe qui la contient
là par contre je suis bien d'accord, et très étonné que Sfaxiano ne se manifeste pas...qu'on ne part pas sur des hypothèses foireuses![]()
![]()
Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour)
N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML
Partager