Propriétés des objets et des méthodes
CHAPITRE 10
218
objet. Ce serait notamment le cas d’une méthode se contentant d’agir sur des attributs de
classe ou de les utiliser.
Bien sûr, vous pouvez toujours appeler une telle méthode en la faisant porter artificiellement
sur un objet de la classe (alors que la référence à un tel objet n’est pas utile). Là encore, la
plupart des langages vous permettent de définir une méthode de classe. Nous conviendrons
de la définir en utilisant la mention deClasse dans son en-tête. L’appel d’une telle méthode
ne nécessitera plus le nom d’un objet particulier, mais simplement le nom de la classe correspondante.
Bien entendu, une méthode de classe ne pourra en aucun cas agir sur des attributs usuels
puisque, par nature, elle n’est liée à aucun objet en particulier. Considérez cet exemple :
classe A
{
.....
réel x
// attribut usuel
entier deClasse n
// attribut de classe
.....
méthode deClasse f
// méthode de classe
{ .....
// ici, on ne peut pas accéder à x, attribut usuel,
.....
// mais on peut accéder à l’attribut de classe n
}
}
.....
A a
A.f
// appelle la méthode de classe f de la classe A
5.2.2 Exemple
Voici un exemple illustrant l’emploi d’une méthode de classe. Il s’agit de l’exemple
précédent (paragraphe 5.1.2, page 217), dans lequel nous avons introduit une méthode de
classe nommée nbObj affichant simplement le nombre d’objets de sa classe.
Cl a, b, c
écrire «En A : nb objets = », Cl.nbObj
a := Création Cl
écrire «En B : nb objets = », Cl.nbObj
b := Création Cl
c := Création Cl
écrire «En C : nb objets = », Cl.nbObj
classe Cl
{ méthode Cl
{ écrire «++ création objet de type Cl »
nb := nb + 1
écrire «il y en a maintenant », nb
}
entier méthode deClasse nbObj
{ retourne nb
}
entier deClasse nb := 0
}
Précédent

- 241/370

Suivant