Si tout va bien pas trop académique ...
Disons que j'ai besoin de nombres réels et complexes dans ma bibliothèque SW.
Basé sur la relation is-a (ou ici ), le nombre réel est un nombre complexe, où b dans la partie imaginaire du nombre complexe est simplement 0.
D'un autre côté, mon implémentation serait que cet enfant étend le parent, donc dans le parent RealNumber, j'aurais une partie réelle et l'enfant ComplexNumber ajouterait de l'art imaginaire.
Il y a aussi une opinion, que l' héritage est mauvais .
Je me souviens comme hier, quand j'apprenais la POO à l'université, mon professeur a dit, ce n'est pas un bon exemple d'héritage car la valeur absolue de ces deux est calculée différemment (mais pour cela nous avons une surcharge de méthode / polymorfisme, non?) .. .
Mon expérience est que nous utilisons souvent l'héritage pour résoudre DRY, par conséquent, nous avons souvent des classes abstraites artificielles dans la hiérarchie (nous avons souvent du mal à trouver des noms car ils ne représentent pas des objets d'un monde réel).