335
a coincide avec c
On notera que l’utilisation d’une méthode de classe permet de retrouver des notations symétriques de la comparaison de deux points, ce qui n’était pas le cas avec une méthode usuelle,
puisque alors les comparaisons s’effectuaient sous la forme a.coincide(b).
Exercice 10.5
Cette fois, la méthode somme devra disposer de deux paramètres de type Point, puisque
étant une méthode de classe, elle ne disposera pas du paramètre transmis implicitement lors
de son appel. Bien entendu, cette méthode aura toujours accès aux coordonnées de ces deux
points. Elle pourra se présenter ainsi :
classe Point
{ .....
// méthode de classe fournissant en résultat la somme de p1 et p2
Point méthode deClasse somme (Point p1, Point p2)
{ Point s
// pour le point représentant la somme
s := Création Point (0, 0)
// ici, les coordonnées fournies au constructeur
// sont sans importance
s.abs := p1.abs + p2.abs
// puisqu’on fixera ici l’absice de s
s.ord := p1.ord + p2.ord
// et ici son ordonnée
retourne s
}
.....
entier abs, ord
}
Notez bien qu’une méthode de classe ne s’applique pas à un objet mais que rien ne l’empêche
de créer un objet, comme n’importe quelle fonction usuelle.
Voici un exemple d’utilisation de somme :
Point p1, p2, ps
p1 := Création Point (1, 5)
p2 := Création Point (3, 12)
ps := Point.somme(p1, p2)
// ps aura pour coordonnées 4, 17
Chapitre 11
Exercice 11.1
La méthode déplace pourrait se présenter ainsi
méthode déplace (entier dx, entier dy)
{ entier x, y
x = centre.valeurAbs + dx
y = centre.valeurOrd + dy
centre.fixeAbs (x)
centre.fixeOrd (y)
}
Précédent

- 358/370

Suivant