Sommaire

Énumération

Une énumération est tout simplement un ensemble fini de valeurs.

Prenons un concept comme les jours de la semaine. Il existe plusieurs possibilités pour représenter un attribut de ce type :

  • Un entier : 0 = lundi et 6 = dimanche. Mais que vaut 32 ? -1 ? Il faut s’assurer que l’attribut se verra toujours assigner une valeur entre 0 et 6, mais ce n’est pas possible en UML qui manipule des entités métier.

  • Une chaîne de caractères. Cette option soulève le problème de l’orthographe et de la graphie. Majuscule ou pas ? Que faire si le logiciel est traduit ? Que faire si l’attribut reçoit une chaîne qui n’a rien à voir avec les jours de la semaine ?

  • Une classe qui, en interne et donc invisible au monde, gérerait les jours de la semaine selon l’une des deux possibilités précédentes, mais qui offrirait des méthodes permettant de les manipuler intuitivement. Mais n’est-ce pas beaucoup d’efforts pour simplement représenter sept valeurs groupées ?

Une énumération offre une solution simple et élégante à ce problème. Une énumération est un type (à l’instar de l’entier, du flottant, du caractère...) et se manipule comme tel. Un attribut de type énumération ne peut prendre comme valeur que celles définies dans cette énumération. ...