Programmation Orientée Objet – Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII – AMU) Programmation Orientée Objet – Java 12 novembre 2014 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 12 novembre 2014 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 12 novembre 2014 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 12 novembre 2014 143 / 171