En programmation, une énumération, abréviation de type énuméré, est un type de données défini par l'utilisateur constitué d'un ensemble de valeurs nommées appelées énumérateurs. Au lieu d'utiliser un entier pour représenter un ensemble de valeurs, un type avec un ensemble restreint de valeurs est utilisé à la place. L'utilisation d'énumérations augmente le niveau d'abstraction et permet au programmeur de se concentrer sur la signification de la valeur plutôt que sur son stockage et son accessibilité. Ceci, à son tour, réduit les bogues.
Pensez aux quatre couleurs dans un jeu de cartes à jouer clubs, diamants, cœurs et piques comme quatre énumérateurs appartenant à un type énuméré nommé costume. Si une variable V est déclarée ayant costume comme type de données, on peut lui attribuer l'une de ces quatre valeurs (clubs, losanges, coeurs et piques).
Les valeurs et les variables d'une énumération sont implémentées sous forme de chaînes de bits de longueur fixe qui sont compatibles en format et en taille avec un type entier. Dans la théorie des types, les énumérations sont considérées comme des unions étiquetées de types d'unités. Les langages de programmation qui utilisent des énumérations incluent Pascal, Java et C #.
Avantages enum
Les énumérations offrent les avantages suivants:
- Ils sont une constante plutôt qu'un nombre, augmentant la lisibilité du code source.
- Ils fournissent une sécurité de type au moment de la compilation et empêchent la comparaison de constantes dans différentes énumérations. Un argument de fonction, un type de retour, un membre de classe ou une variable locale peuvent être déclarés en tant que type enum et le compilateur appliquera la sécurité de type.
- Les énumérations regroupent les choses dans un ensemble.
- En Java, l'énumération peut être utilisée comme un singleton. Un type enum d'élément unique est considéré comme l'un des meilleurs moyens d'implémenter un singleton.