Next: Nom de classes dans Up: Classes Previous: La création d'instances

Les variables de classe

Toute instance a sa propre copie de ces variables d'instance déclarées dans la classe, chaque objet contrôle ses propres données, l'ensemble des valeur des varaibles d'instance forme ce que l'on appel l'état de l'instance.

L'objet classe par contre n'a pas de variable, seulement une structure de donnée interne initialisée à la définition (par le compilateur), rien de directement manipulable. L'objet classe n'a accès à aucune des variables d'instance de ces instances (ni lecture, ni écriture).

Ainsi pour que l'ensemble des instances d'une classe puissent partager des données il est nécessaire d'introduire des variables externes d'un certain type. Certaines classes définissent des variables statiques (mot clef static du C) et des méthodes pour les manipuler. (Déclarer une variable static dans le même fichier que la définition de classe, limite sa portée à la classe et à ses instances, la variable n'est pas héritée par les sous-classes, sauf si elles sont définies dans le même fichier.)

Ces variables static permettent d'ajouter des fonctionnalités à l'objet classe en plus de celle d'usine à instances, et lui permet de devenir un objet à part entière. Un objet classe peut être utilisé pour coordonner ses propres instances, distribuer des instances contenus dans une liste ou toute autre action primordiale pour votre application. Dans le cas limite ou vous n'avez besoin que d'un objet d'une classe donnée, vous pouvez déclarer toutes les variables en statique et utiliser que des méthodes de classe, cela vous épargnera l'allocation et l'initialisation d'une instance.

Remarque : L'utilisation de static n'est pas obligatoire mais ce choix est fait pour conserver l'encapsulation des variables dans les objets.



Dominique REVUZ
Vendredi 21 février 1997 17:27:12
Une Bug Un mail Merci