Pourquoi on ne devrait pas utiliser l'héritage de classe

Voici un article intéressant décrivant une facette négative de l'héritage de classe. http://www.berniecode.com/writing/inheritance/

1 comments:

BobTheBuilder said...

Dans plein de cas, c'est vrai, on ne devrait pas utilisé l'héritage...
Dans l'example, c'est évident que c'est une propriété de la balle qui est ajoutée, donc une interface fait bien l'affaire et il serait étrange d'utiliser l'héritage. Par contre, si on définie la balle qui hérite de Cercle, ça c'est sensé! L'héritage est une excellante chose, mais il faut savoir l'utilisée au bon endroit.

Par exemple, je me vois mal définir une fenêtre windows en utilisant seulement des interfaces... ce qui signifie que je dois coder les tous les méthodes standards puisqu'on ne peut pas définir d'implémentation dans une interface. Je préfère hérité de WinView et ne pas avoir à me soucier des fonctionalité de bases.

Le problème avec l'héritage, c'est que c'est souvent utilisé à toute les sauces... Si la plupart des classes qu'on a besoin doivent toutes définir leur propre implémentation pour une méthode donnée, alors l'interface est un bien meilleur choix, par contre, si toutes les classes réimplémente exactement le même code l'héritage est possiblement un bon choix si le lien logique exist.

Mon 2 cents!

Ghis.