“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 310 — #320
i
i
i
i
i
i
i
i
310
6
• La programmation orientée objet
L’héritage
Nous pouvons utiliser l’héritage pour étendre la classe Point. Par exemple, elle peut
être étendue pour représenter un pixel, qui est la surface indépendamment affichable
la plus petite sur un dispositif de sortie graphique bidimensionnelle comme un écran
d’ordinateur. Les pixels ont des coordonnées, comme les points, mais ils ont aussi une
couleur.
class Pixel extends Point {
Color color;
public void origin() {
super.origin();
color=null;
}
public Color getC() { return color; }
public void setC(Color c) { color=c; }
}
Le mot clé extends désigne l’héritage ; il correspond au mot clé from dans notre
système à objets. Nous supposons que la classe Color est définie ailleurs. La classe
Pixel redéfinit la méthode origin. La nouvelle méthode origin initialise le point
et sa couleur. Elle utilise super pour accéder à la méthode redéfinie dans la classe
ancêtre immédiate. Par rapport à la classe de base, cette classe s’appelle la superclasse
en Java. Dans notre système à objets, nous pouvons définir Pixel ainsi :
class Pixel from Point
attr color
meth origin
Point,origin
color:=null
end
meth getC(C) C=@color end
meth setC(C) color:=C end
end
6.6 EXERCICES
➤ Exercice 1 — Les objets non initialisés
La fonction New crée un nouvel objet quand on lui donne une classe et un message initial. Écrivez une autre fonction New2 qui n’a pas besoin d’un message
initial. L’appel Obj={New2 Class} doit créer un nouvel objet sans l’initialiser.
Indice : Écrivez New2 en utilisant New.
Précédent

- 325/370

Suivant