Classes et objets
CHAPITRE 9
188
Remarques
1 On notera que le statut d’un attribut porte en bloc sur l’accès ou l’altération de cet attribut.
Peu de langages permettent de différencier les deux actions, en les dotant d’autorisations
différentes.
2 Nous verrons qu’il existe d’autres statuts d’accès, liés à la notion d’héritage.
3 On rencontre parfois le terme « rétention d’information », à la place d’encapsulation.
4 Méthode appelant une autre méthode
Jusqu’ici, nous avons appelé une méthode d’une classe en l’appliquant à un objet. Mais, de
même qu’une fonction pouvait en appeler une autre, une méthode peut en appeler une autre.
Pour l’instant, nous n’envisagerons pas le cas où une méthode d’une classe appelle une méthode d’une autre classe, car il fait souvent intervenir la notion de composition d’objets dont
nous parlerons plus tard. En revanche, nous pouvons considérer le cas où une méthode d’une
classe appelle une autre méthode de la même classe. Considérons cette situation :
classe Point
{ méthode afficheAbs { ..... } // affiche l’abscisse
méthode afficheOrd { ..... } // affiche l’ordonnée
méthode affiche
{ ..... } // affiche l’abscisse et l’ordonnée
}
La méthode affiche peut chercher à utiliser les méthodes afficheAbs et afficheOrd.
Cela est tout à fait possible en procédant ainsi :
méthode affiche
{ afficheAbs
afficheOrd
}
On notera bien que, là encore, il n’est pas besoin de préciser l’objet auxquels s’appliquent les
appels afficheAbs et afficheOrd. Il s’agit par convention de l’objet (unique à un
moment donné) ayant appelé affiche.
5 Les constructeurs
5.1 Introduction
Considérons à nouveau notre classe Point du paragraphe 2.3, page 184, dotée de ses méthodes initialise, déplace et affiche. On constate que, lorsque l’on a instancié un
objet de ce type, il est nécessaire de faire appel à la méthode initialise pour donner des
valeurs à ses attributs. Si, par mégarde, on procède ainsi :
Précédent

- 211/370

Suivant