Sommaire

Héritage

1. Héritage simple

Lorsqu’une classe hérite d’une autre, alors la classe dite « dérivée » (ou « fille ») récupère tous les membres de la classe « de base » (ou « mère »), peut éventuellement les réimplémenter (on parle de « spécialisation ») ou en ajouter de nouveaux.

En UML, un héritage se représente ainsi :

images/03RI08.png

Un Cercle est une Forme : il hérite de tous ses attributs (centre_x, centre_y), de toutes ses méthodes (translater()) et les complète (rayon).

Pour éviter de surcharger les schémas, les membres de la classe de base ne sont pas répétés dans la classe dérivée, mais sont sous-entendus présents.

L’intérêt majeur de l’héritage est de pouvoir factoriser la logique « métier » de différentes classes dans une seule : la classe de base. C’est elle qui regroupe les comportements génériques et c’est aux différentes classes dérivées d’implémenter les comportements spécifiques. Celles-ci conservent toutefois la possibilité d’invoquer les mêmes méthodes et d’accéder aux mêmes attributs que la classe mère.

Dans certains cas, il est inutile de propager aux classes filles certains membres (des ...