Elle est inconnue des autres classes, mais la classe A l'a connait puisqu'elle la déclare...
Effectivement je pense que ça se rapproche de la notion de package, même si ce n'en pas un.
Je fais ce genre de déclaration souvent (en C++, mais peut importe le langage) : c'est pratique de pouvoir encapsuler les classes dans d'autres, pour des notions d'encapsulation, de visibilité, etc...
Je ne pensais pas que ça posait tant de problèmes en UML. Si c'est si difficile à représenter en UML, je présume qu'il doit être encore plus difficil d'arriver à faire générer du code correspondant à cela....
ah bon, et pourquoi ?Ca ne se représente pas car c'est conceptuellement invalide. Définir une classe dans une autre classe implique que la classe contenue est inconnue du modèle,
C'est vrai qu'il y a une aggrégation entre A et B, A étant une collection de B.La relation entre les classe dans le cas décrit est obligatoirement une aggrégation (ou composition), ce n'est pas parce qu'un objet est contenu dans un autre que cela impliquent que les appelants du conteneur savent ce qu'est le contenu.
Donc alors la question serait plutôt : comment représenter la portée de visibilité d'une classe en UML ?
Je ne pense pas, en C++ (mon langage d'implémentation), la notion de package peut se traduire par un namespace, et c'est trop lourd pour ce que je veux faire.Il faut que tu utilises un package.
Merci pour les réponses en tout cas.
Partager