Il est parfois nécessaire de n’avoir qu’une
seule instance d’un membre d’une classe. Ce
membre sera unique quel que soit le nombre d’objets
déclarés. On dit qu’il est static.
Exemple :
maClasse {
static int nboccurences ;
int a ;
…
}
void main ( ) {
maClasse c1,c2,c3 ; on obtient 3 fois la variable a, mais
une seule fois la variable nboccurences (=3)
}
Nous avons ici un entier qui servira à compter le
nombre d’instances d’objets de cette classe.
Il est initialisé une seule et unique fois (int maClasse
: : nboccurences = 0 ;) puis à chaque nouvel objet
le constructeur pourra par exemple l’incrémenter
et chaque destructeur le décrémenter.
Il est également possible d’avoir des fonction
static. Elles sont généralement utilisées
pour agir sur des membres communs (des membres static).
Elle n’est pas liée aux instances de classes
(aux objets) mais uniquement à la classe. Sa syntaxe
est la suivante :
Static void maClasse : :
mafonction( …) ;