14
Classes abstraites, interfaces
et héritage multiple
Nous présentons ici des concepts, moins fondamentaux que l’héritage et le polymorphisme
mais qui peuvent faciliter grandement la conception de logiciels. Nous étudierons les notions
de classes abstraites et de méthodes retardées : présentes dans la plupart des langages, elles
permettent de définir des classes dont la seule vocation est de donner naissance à des classes
dérivées. Nous aborderons ensuite la notion d’interface, présente dans seulement une partie
des langages, qui permet de formaliser la distinction entre l’interface d’une classe et son
implémentation. Enfin, nous donnerons quelques indications sur l’héritage multiple supporté
par un petit nombre de langages.
1 Classes abstraites et méthodes retardées
1.1 Les classes abstraites
Lorsque l’on exploite les possibilités d’héritage et de polymorphisme, on peut être amené à
créer une classe simplement destinée à servir de classe de base pour d’autres classes, et en
aucun cas à donner naissance à des objets. Bon nombre de langages permettent alors de
« formaliser » cela dans la notion de classe abstraite. Nous conviendrons qu’une telle classe
se déclare ainsi :
classe abstraite A
{ ..... // attributs et méthodes
}
Précédent

- 312/370

Suivant