Classes et objets
CHAPITRE 9
182
Remarques
1 Notez bien le vocabulaire que nous avons convenu d’utiliser : nous disons que p est une
variable de type Point, tandis que l’objet référencé par p est un objet de type Point. En
revanche, il nous arrivera souvent de commettre l’abus de langage consistant à parler
d’un point pour un « objet de type Point », voire même parfois de l’objet p au lieu de
l’objet référencé par p.
En ce qui concerne le terme instanciation, nous l’appliquerons indifféremment à une
classe (il désignera la création d’un objet de cette classe) ou à un objet (il désignera la
création de cet objet).
2 Certains langages disposent, en plus de ce mécanisme d’instanciation à l’exécution, de
la possibilité de réserver l’emplacement d’un objet par une déclaration. Nous reviendrons plus loin sur cette « dualité » concernant la gestion des objets.
2.1.2 Utilisation d’objets de type Point
Supposons donc que notre variable p contienne la référence d’un objet de type Point et
voyons maintenant comment utiliser cet objet.
Tout d’abord, rappelons que les attributs de nos objets sont encapsulés dans l’objet et qu’il
n’est pas possible d’y accéder directement ; d’ailleurs, pour l’instant, nous ne savons même
pas comment ils se nomment ! Nous devons obligatoirement utiliser les méthodes de la
classe Point. Ici, nous avons prévu que la méthode initialise fournisse des valeurs aux
coordonnées d’un point. Pour l’appeler, nous devrons naturellement préciser :
• les valeurs des paramètres requis : ici, deux entiers représentant les deux coordonnées cartésiennes, par exemple 5 et 8 ;
• l’objet auquel la méthode doit s’appliquer : ici celui référencé par p.
Nous utiliserons pour cela une notation très répandue :
p.initialise (5, 8) // appelle la méthode initialise de l’objet référencé par p
Remarque
On dit parfois que l’instruction :
p.initialise (5, 8)
« envoie le message » initialise (5, 8) à l’objet p.
Précédent

- 205/370

Suivant