Propriétés des objets et des méthodes
CHAPITRE 10
214
Exercice 10.2 Introduire dans une classe Point (dotée des attributs usuels abs et ord), un
constructeur particulier recevant en paramètre un objet de type Point dont il recopiera la
valeur des attributs dans l’objet à construire.
4 Objet en résultat
Jusqu’ici, nous avions considéré que le résultat d’une fonction était d’un type de base et qu’il
était transmis par valeur, c’est-à-dire qu’on effectuait une recopie de la valeur calculée localement dans la fonction. Rappelons que nous avions considéré qu’une fonction ne pouvait
pas fournir un tableau en résultat. Ces règles vont tout naturellement s’appliquer, là encore,
aux méthodes.
Par ailleurs, nous conviendrons qu’une fonction ou une méthode peut fournir un résultat qui
soit un objet. Ici aussi, il y aura recopie de la valeur concernée, valeur qui est en fait celle
d’une référence. Le programme appelant la fonction ou la méthode pourra donc accéder à
l’objet ainsi fourni. Voici un exemple exploitant cette remarque où nous dotons une classe
Point d’une méthode fournissant le symétrique du point concerné.
Point a, b
a := Création Point (1, 2)
a.affiche
b := a.symetrique
b.affiche
classe Point
{ méthode Point(entier abs, entier ord)
{ x := abs ; y := ord
}
Point méthode symétrique
{ Point res
res := Création Point (y, x)
retourne res
}
méthode affiche
{ écrire «Coordonnées : », x, « », y
}
entier x, y
}
Coordonnées : 1 2
Coordonnées : 2 1
Exemple de méthode fournissant en résultat le symétrique d’un point
Précédent

- 237/370

Suivant