Salut,
Est ce qu'il y a des règles de passages qui permettent d'obtenir a partir du digrammes de classe nos classes en c++ ?
Cordialement
Version imprimable
Salut,
Est ce qu'il y a des règles de passages qui permettent d'obtenir a partir du digrammes de classe nos classes en c++ ?
Cordialement
Bonjour,
Il y a des générateur de codes C++ prenant en entrée des diagrammes de classes UML. Certains des outils présentés ici , offre cette fonctionnalité.
A+,
Agamitsudo.
Bonsoir,
je ne comprend pas le sens de ta question :oops: Pourrais-tu donner quelques précisions supplémentaires?
Mis à part quelques exceptions dues aux spécificités du langage (notamment sur les formes d'héritage), UML est un langage qui défini - en lui-même - les règles nécessaires à sa transcription en un autre langage, quel qu'il soit, tant qu'il est orienté objet.
agamitsudo> je veux faire ça manuellement.
r0d> le problème c'est que je ne sais pas comment représenter les associations ,agrégation etc ... qui sont présente au niveau du digramme de classe.
Salut,
Si tu es attentif à la création de tes diagrammes de classes, il est tout à fait possible qu'ils te présentent toutes les informations nécessaires au niveau des agrégations/compositions à la création de ton code...
Ainsi, il est possible (utile :question:/nécessaire :question:/ important :question:) de fournir les prototypes, les arités et, pourquoi pas, les rôles de chacun des éléments intervenant dans les argégations/compositions...
En voici un exemple ( créé avec BoUml, pour ne pas le citer :D)
http://koala01.free.fr/fig128015.png
Ce même outil permet, en outre, de générer la quasi totalité (et, pourquoi pas la totalité, d'ailleurs :question:) du code directement au départ du diagramme de classes que tu auras créé ;)
Sinon, tu peux te dire, de manière générale, que:
- Quant tu as un conteneur qui contient plusieurs éléments, le mieux est d'utiliser les conteneurs STL
- quand l'élément contenu référence le coneneur, cela passe par un pointeur
- quand il s'agit d'une agrégation, le conteneur contient de préférence un pointeur (ou un conteneur de pointeurs) vers l'(les) élément(s) contenu(s)
- quand il s'agit d'une composition, tu peux envisager de travailler avec des instances normales