Propriétés des objets et des méthodes
CHAPITRE 10
204
Point a, b
.....
a := Création Point (3, 5)
b := Création Point (2, 0)
Comme nous l’avons vu, une expression telle que Création Point (3, 5)) fournit une
référence à un objet de type Point, et c’est cette référence qui est affectée à ce que nous
avons appelé la variable a de type Point. Après l’exécution des instructions précédentes,
nous aboutissions à cette situation :
Bien que nous n’ayons pas trop insisté là-dessus, nous avions donc implicitement convenu
que l’instruction d’affectation pouvait s’appliquer à des variables d’un type objet. Ici, nous
l’utilisions avec, à droite de :=, une expression de ce type. Mais, il va de soi que nous pourrions y trouver une expression simplement réduite à un nom de variable de type objet. Considérons, par exemple cette affectation :
a := b
Elle va simplement recopier dans a la référence contenue dans b, ce qui nous conduit à cette
situation :
Autrement dit, dorénavant, a et b désignent le même objet, et non pas deux objets de même
valeur. Toute modification effectuée sur cet objet, par le biais de a se retrouvera sur b. Par
exemple, si nous exécutons maintenant ces instructions (nous supposons ici que deplace
possède également des paramètres de type entier) :
a.deplace (5, 10)
b.affiche
Nous obtiendrons les valeurs 7 et 10.
b
3
5
2
0
a
b
3
5
2
0
a
Précédent

- 227/370

Suivant