langages de programmation orientés objet utilisent l'héritage afin que les concepteurs de logiciels peuvent créer des hiérarchies de classes logiques et peuvent mieux organiser, encapsuler et réutiliser le code. En conséquence, les programmes sont plus faciles à concevoir, modifier et maintenir et bibliothèques de code ont des interfaces plus faciles à utiliser.
Partage de ce qui est commun
Un objet de base ou de la racine dans une hiérarchie de classe peut définir des propriétés et des méthodes communes à toutes les classes dérivées.
Spécialisation
Une classe dérivée peut utiliser toutes les propriétés et les méthodes que la classe de base fournit et peut définir de nouvelles propriétés et méthodes spécifiques à ses besoins.
Redéfinir
Si besoin est, une classe dérivée peut changer la définition des méthodes de classe de base pour les rendre utiles d'une manière spécifique à lui-même.
Dynamic Binding
Parce qu'une classe dérivée est une version plus spécifique de sa classe de base, le code client (code qui permet l'utilisation d'une bibliothèque de classe) peut être conçu pour utiliser l'interface de classe de base et fonctionner sur une instance d'une classe dérivée sans problème pour le moment.
Réutilisation et Encapsulation
Un programmeur n'a pas besoin de réécrire le même code encore et encore pour chaque type de classe. Au lieu de cela, les classes dérivées réutiliser automatiquement le code défini dans leurs classes parentes. Ce code peut être redéfini comme nécessaire pour fournir des fonctionnalités spécifiques. En outre, le code de client peut être écrit pour utiliser les méthodes définies dans une classe de base, mais en fait fonctionner sur les instances de la classe dérivée. Le code client ne doit pas être conscient qu'il est en réalité de fonctionnement sur une instance de la classe dérivée. De cette manière, une méthode client peut fonctionner sur différentes instances d'objet dérivé d'une manière identique en utilisant un minimum de code.