Différence clé - Polymorphisme vs héritage en POO
La programmation orientée objet (POO) est couramment utilisée pour développer des logiciels. De nombreux langages de programmation prennent en charge la programmation orientée objet. La programmation orientée objet est une méthodologie pour concevoir un programme à l'aide de classes et d'objets. Une classe en POO est un plan pour créer un objet. Une classe a des propriétés et des méthodes. Un objet est une instance d'une classe. La POO contient quatre piliers tels que l'héritage, le polymorphisme, l'abstraction et l'encapsulation. Cet article explique la différence entre le polymorphisme et l'héritage dans la POO. La principale différence entre le polymorphisme et l'héritage en POO est que le polymorphisme est la capacité d'un objet à se comporter de plusieurs manières et l'héritage est de créer une nouvelle classe à l'aide des propriétés et des méthodes d'une classe existante.
CONTENU
1. Présentation et différence clé
2. Qu'est-ce que le polymorphisme en POO
3. Qu'est-ce que l'héritage en POO
4. Similitudes entre le polymorphisme et l'héritage en POO
5. Comparaison côte à côte - Polymorphisme vs héritage en POO sous forme tabulaire
6. Résumé
Qu'est-ce que le polymorphisme en POO?
Le polymorphisme consiste à indiquer plusieurs formes. Un objet peut avoir plusieurs comportements. Le polymorphisme peut être divisé en deux catégories. Ils surchargent et dépassent.
Surcharge
Reportez-vous au programme ci-dessous écrit en Java.
Figure 01: Surcharge
Selon le programme ci-dessus, un objet de type A est créé. Lors de l'appel de obj.sum (); il donnera la sortie liée à la méthode sum (). Lors de l'appel de l'obj.sum (2,3); il donnera la sortie liée à sum (int a, int b). On constate que le même objet a des comportements différents selon la situation. Lorsqu'il existe plusieurs méthodes portant le même nom, mais avec des paramètres différents, on parle de surcharge. Il est également connu sous le nom de liaison statique ou polymorphisme au moment de la compilation.
Primordial
Un autre type de polymorphisme l'emporte. Reportez-vous au programme ci-dessous écrit en Java.
Figure 02: Remplacer
Selon le programme ci-dessus, il existe une méthode display () dans la classe A. La classe B s'étend de la classe A. Par conséquent, toutes les méthodes de la classe A sont accessibles par la classe B. Il s'agit de l'héritage. Le concept d'héritage est décrit plus loin.
La classe B a également la même méthode display (). Lors de la création d'un objet de type A et de l'appel de la méthode d'affichage, la sortie donnera B. La méthode d'affichage de classe A est remplacée par la méthode d'affichage de classe B. Ainsi, la sortie est B.
Lorsqu'il y a des méthodes avec le même nom et les mêmes paramètres mais dans deux classes différentes, et qu'elles sont liées à l'héritage, on parle de substitution. Il est également connu sous le nom de liaison tardive, de liaison dynamique, de polymorphisme d'exécution. La surcharge et le remplacement sont appelés polymorphisme. C'est un concept majeur de la programmation orientée objet.
Qu'est-ce que l'héritage dans la POO?
Reportez-vous au programme ci-dessous écrit en Java.
Figure 03: Exemple d'héritage
Selon le programme ci-dessus, la classe A a la méthode sum () et la classe B a la méthode sub ().
La méthode sum () de la classe A peut être utilisée dans la classe B en utilisant le mot clé extend. La réutilisation des propriétés et des méthodes d'une classe existante pour créer une nouvelle classe est appelée héritage. Même il n'y a pas de méthode sum () dans la classe B; il est hérité de la classe A. L'héritage est utile pour la réutilisabilité du code. La classe la plus ancienne est appelée la classe de base, la superclasse ou la classe parente. La classe dérivée est appelée sous-classe ou classe enfant.
Types d'héritage
Il existe différents types d'héritage. Il s'agit de l'héritage à un seul niveau, de l'héritage à plusieurs niveaux, de l'héritage multiple, de l'héritage hiérarchique et de l'héritage hybride.
Héritage unique
Dans l'héritage unique, il existe une super classe et une sous-classe. Si la classe A est la super classe et la classe B la sous-classe, toutes les propriétés et méthodes de la classe A sont accessibles par la classe B. Il n'y a qu'un seul niveau; par conséquent, il est appelé héritage à un seul niveau.
Héritage à plusieurs niveaux
Dans l'héritage à plusieurs niveaux, il existe trois niveaux de classes. La classe intermédiaire hérite de la super classe. La sous-classe hérite de la classe intermédiaire. S'il y a trois classes comme A, B et C et A est la super classe et B est la classe intermédiaire. Alors B hérite de A et C hérite de B, c'est un héritage multi-niveaux.
Héritage multiple
Dans l'héritage multiple, il existe de nombreuses super classes et une sous-classe. S'il existe trois super classes appelées A, B, C et D est la sous-classe, alors la classe D peut hériter de A, B et C. L'héritage multiple est pris en charge dans le langage de programmation C ++. Il n'est pas pris en charge dans les langages de programmation tels que Java ou C #. Les interfaces sont utilisées pour implémenter l'héritage multiple dans ces langues.
Héritage hiérarchique
S'il existe des classes appelées A comme super-classes et B, C sont des sous-classes, ces sous-classes peuvent hériter des propriétés et des méthodes de la classe A. Ce type de type d'héritage est connu sous le nom d'héritage hiérarchique.
Héritage hybride
Il existe un autre type d'héritage spécial appelé héritage hybride. C'est une combinaison d'héritages multi-niveaux et multiples. Si A, B, C et D sont des classes et B hérite de A et D hérite à la fois de B et de C, alors il s'agit d'un héritage hybride.
Quelles sont les similitudes entre le polymorphisme et l'héritage en POO?
Les deux sont des concepts de programmation orientée objet
Quelle est la différence entre le polymorphisme et l'héritage en POO?
Diff article au milieu avant la table
Polymorphisme vs héritage en POO |
|
Le polymorphisme est la capacité d'un objet à se comporter de plusieurs manières. | L'héritage consiste à créer une nouvelle classe à l'aide des propriétés et des méthodes d'une classe existante. |
Usage | |
Le polymorphisme est utilisé pour que les objets appellent quelle forme de méthode au moment de la compilation et de l'exécution. | L'héritage est utilisé pour la réutilisabilité du code. |
la mise en oeuvre | |
Le polymorphisme est implémenté dans les méthodes. | L'héritage est implémenté dans les classes. |
Catégories | |
Le polymorphisme peut être divisé en surcharge et surpassement. | L'héritage peut être divisé en héritage à un niveau, à plusieurs niveaux, hiérarchique, hybride et multiple. |
Résumé - Polymorphisme vs héritage en POO
Le polymorphisme et l'héritage sont des concepts majeurs de la programmation orientée objet. La différence entre le polymorphisme et l'héritage en POO est que le polymorphisme est une interface commune à plusieurs formes et que l'héritage consiste à créer une nouvelle classe à l'aide des propriétés et des méthodes d'une classe existante. Les deux concepts sont largement utilisés dans le développement de logiciels.
Téléchargez le PDF Polymorphism vs Inheritance in POO
Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne selon la note de citation. Veuillez télécharger la version PDF ici Différence entre polymorphisme et héritage en POO