Cas des objets transmis en paramètre
213
À la fin de l’exécution de la méthode (avant son retour), la situation se présente ainsi :
Enfin, après retour dans le programme, les variables locales à permute ne sont plus disponibles, mais l’objet créé par cette méthode existe toujours ; la situation se présente ainsi :
Notez bien qu’ici ce ne sont plus les références contenues dans a et b qui ont changé, mais
bel et bien les valeurs des objets correspondants. On notera que la copie des objets est ici
réalisée par une méthode de leur classe. Il va de soi que si l’on change l’implémentation de
cette classe, la méthode permute pourra être adaptée en conséquence
Remarques
1 Ici, il n’existe plus de référence sur l’objet créé par la méthode permute qui ne sera donc
plus accessible (dans certains environnements, il sera détruit automatiquement).
2 Dans les langages où les objets sont gérés par valeur, il existe généralement deux possiblités de transmission d’un objet en paramètre d’une fonction ou d’une méthode :
– par référence : on se retrouve dans la situation que nous venons d’étudier ;
– par valeur : on effectue une copie des valeurs des attributs de l’objet.
b
5
6
1
2
a
p
c
5
6
Objet courant
Méthode permute
dans l’appel a.permute (b)
b
5
6
1
2
a
5
6
Précédent

- 236/370

Suivant