Deuxième exemple : une classe Segment
235
2 Deuxième exemple : une classe Segment
L’exemple précédent était quelque peu artificiel. Il avait surtout pour but de vous présenter
les conséquences de la gestion par référence, ainsi que ses différences avec la gestion par
valeur.
Nous vous proposons maintenant un exemple, toujours simple, mais plus réaliste, à savoir la
création d’une classe Segment, permettant de manipuler des segments définis à partir de leur
origine et de leur extrémité.
Nous supposerons que nous disposons de la classe Point suivante (notez la présentation des
résultats fournis par affiche, différente de celle que nous avons utilisée jusqu’ici) :
classe Point
{ méthode Point (entier x, entier y) { abs := x ; ord := y }
méthode affiche { écrire «abscisse : », abs, «, ordonnée : », ord }
méthode déplace ( entier dx, entier dy) { abs := abs + dx ; ord := ord + dy }
entier abs, ord
}
Nous allons chercher à doter la classe Segment des fonctionnalités suivantes :
• constructeur, recevant deux points en paramètres,
• méthode affiche fournissant les coordonnées de l’origine et de l’extrémité.
Elle pourrait se présenter ainsi :
classe Segment
{ méthode Segment (Point o, Point e)
{ origine := o
extremité := e
}
méthode affiche
{ écrire «-- origine
»
origine.affiche
écrire «-- extrémité »
extremité.affiche
}
Point origine, extremité
}
Considérons alors cet exemple d’utilisation de Segment :
Point a, b, c
Segment s1, s2
a := Création Point (1, 2)
b := Création Point (4, 5)
c := Création Point (7, 8)
s1 := Création Segment (a, b)
s2 := Création Segment (b, c)
s1.affiche
s2.affiche
Précédent

- 258/370

Suivant