Héritage et hiérarchies des classes 
d. Simple ou multiple 
N  classes  peuvent  dériver  d’une  superclasse,  c’est  ce  que  vous  avez  vu  jusqu’à  présent.  Si  vous  regardez  la 
hiérarchie  actuelle,  il  serait  éventuellement  possible  de  modifier  quelque  chose.  Un  omnivore  mange  à  la  fois  de 
l’herbe (fruits et légumes) et de la viande. Il est donc à la fois herbivore et carnivore. Pourrait­on alors créer une 
classe Omnivore dérivant des classes Carnivore et herbivore ? C’est possible. Dans ce cas la nouvelle classe hérite 
des membres des deux classes pères. 
Classe omnivore hérite de Herbivore, Carnivore 
... 
FinClasse
Du coup la hiérarchie devient : 
Héritage multiple, attention à la complexité 
C’est possible, mais cela pose souvent plus de problèmes que ça en résout. Les avis sont partagés sur ce sujet. Mais 
voici un bref exemple des implications un peu tordues générées par l’héritage multiple : si deux méthodes de même 
nom sont définies dans les deux superclasses et pas dans la classe dérivée, quelle méthode doit être appelée si son 
nom est appelé dans celle­ci ? Les langages proposent des astuces pour gérer ce genre de cas, mais ça devient très 
complexe.  L’héritage  multiple  a  été  implémenté  dans  le  langage  C++  mais  pas  en  Java,  tout  au  moins  pas 
directement : une classe ne dérive que d’une seule classe. 
- 11 -
© ENI Editions - All rigths reserved - Jonifar lina
204
Précédent

- 204/220

Suivant