Le recours à l'héritage de classe en modélisation objet est très fréquent. C'est d'ailleurs l'un des premiers sujets traités dans tout cours d'initiation à la POO. Néanmoins les classes .NET ne supportent pas l'héritage multiple, contrairement aux interfaces.
Sachant qu'une classe peut implémenter plusieurs interfaces,
ne pensez-vous qu'il existe de nombreux cas (je veux dire, plus qu'on ne le croit... ) où il est plus intéressant de privilégier le recours aux interfaces plutôt qu'à l'héritage de classes ?
Par exemple, imaginons le cas de modélisation d'objets métier suivant : une entité Contact, et des entités plus spécifiques Client, Employé, etc. qui sont toutes des contacts... Comment modéliser un contact qui serait à la fois Client et Employé ?
On ne peux pas faire hériter Client par Employé ou l'inverse, car tous deux ont déjà Contact pour classe de base. Dans un cas comme celui-ci l'héritage simple montre donc ses limites !
En revanche, le recours à des interfaces permettrait d'obtenir toutes les combinaisons que le modèle doit supporter (contact-client, contact-employé, contact-client-employé).
Partager