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