suivant: Surcharge
 monter: Autres exemples de patterns
 précédent: Un pattern de création
     Table des matières 
     Index 
Un pattern de création : les types d'énumération
Le recours à des variables de classe permet de définir des types
d'énumération, c'est-à-dire comportant un nombre donné de constantes
nommées.  Par exemple, nous devons représenter l'état d'un feu tricolore
par un type ayant exactement trois valeurs (rouge, orange, vert). Une
solution est donnée par la classe suivante :
class Feu {
  static final Feu ROUGE = new Feu();
  static final Feu ORANGE = new Feu();
  static final Feu VERT = new Feu();
  private Feu() {}
}
Cette classe est conçue afin de vérifier les propriétés suivantes :
- la classe Feu a trois champs statiques de type
  Feu, dont les valeurs initiales sont distinctes ;
 
- son constructeur est rendu privé pour interdire la création de
  nouvelles instances ;
 
- ses seules instances sont Feu.ROUGE,
  Feu.ORANGE et Feu.VERT ;
 
- ses champs étant déclarés final, il n'est pas possible de
  modifier leurs valeurs (ce qui serait seulement possible par une
  affectation comme Feu.ROUGE = Feu.VERT), qui restent donc
  distinctes deux à deux.
 
Rene' LALEMENT
2002-11-07