Programmation Orientée Objet – Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 21 septembre 2016 Bertrand Estellon (DII – AMU) Programmation Orientée Objet – Java 21 septembre 2016 1 / 171 Java Enumérations Les énumérations Il est possible de définir des énumérations : enum Suit { SPADES, HEARTS, DIAMONDS, CLUBS; } Une énumération est une classe avec des éléments prédéfinis et statiques : Suit suit = Suit.SPADES; /* ... */ if (suit == Suit.SPADES) { /* .... */ } Bertrand Estellon (DII – AMU) Programmation Orientée Objet – Java 21 septembre 2016 141 / 171 Java Enumérations Les énumérations Définition de champs, de méthodes et d’un constructeur : enum Suit { SPADES("Pique", "Pi"), HEARTS("Coeur", "Co"), DIAMONDS("Carreau", "Ca"), CLUBS("Trèfle", "Tr"); private final String name; private final String symbol; Suit(String name, String symbol) { this.name = name; this.symbol = symbol; } public String name() { return name; } public String symbol() { return symbol; } } Bertrand Estellon (DII – AMU) Programmation Orientée Objet – Java 21 septembre 2016 142 / 171 Java Enumérations Les énumérations Un exemple d’utilisation de l’énumération précédente : public static void main(String[] args) { for (Suit suit : Suit.values()) System.out.printf("Le symbole de %s est %s", suit.name(), suit.symbol()); } Un autre exemple : public static void main(String[] args) { for (Suit suit : Suit.values()) System.out.printf("La position de %s est %d", suit.name(), suit.ordinal()); } Bertrand Estellon (DII – AMU) Programmation Orientée Objet – Java 21 septembre 2016 143 / 171