Programmation/Programmation orientée objet/Héritage

Un livre de Wikilivres.

Les classes peuvent être définies et utilisées de manière autonome, chaque classe constituant un ensemble homogène indépendant de toute autre classe. Cependant, il peut être très utile qu’une classe soit construite à partir d'une autre classe, en conservant les propriétés de la classe d'origine et en en acquérant de nouvelles. Ce processus est possible et s'appelle héritage ou dérivation. Il conduit à la notion de hiérarchie de classes.

L'héritage (ou dérivation) est un mécanisme qui permet de construire des classes à partir d'autres classes, en définissant une nouvelle classe, appelée classe dérivée, comme une extension d'une classe existante, appelée classe de base. La dérivation permet à une classe dérivée d'hériter des propriétés, c'est-à-dire des données et fonctions membres, d'une classe de base. Ainsi, il est possible de compléter des classes, en rajoutant des données ou des fonctions membres, et/ou de les personnaliser, en redéfinissant des données (valeurs) ou des fonctions membres.

Quand une classe dérivée hérite d'une classe de base, les données et les fonctions membres de cette classe de base sont incorporées aux données et fonctions membres de la classe dérivée. Les classes de base qui apparaissent dans la déclaration des classes dérivées doivent être définies préalablement. Les classes de base sont souvent aussi appelées classes ancêtres. De même, les classes dérivées sont aussi appelées classes filles. Grâce à l'héritage, il est possible de définir des lignées d'objets, c'est-à-dire des successions de classes qui héritent les unes des autres.