Différence entre le polymorphisme et l'héritage dans la POO

Différence entre le polymorphisme et l'héritage dans la POO

Différence clé - Polymorphisme vs héritage dans la POO
 

La programmation orientée objet (OOP) 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 en utilisant des classes et des objets. Une classe dans OOP 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. OOP contient quatre piliers tels que l'héritage, le polymorphisme, l'abstraction et l'encapsulation. Cet article traite de la différence entre le polymorphisme et l'héritage dans la POO. Le différence clé entre le polymorphisme et l'héritage dans la 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 en utilisant des propriétés et des méthodes d'une classe existante.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce que le polymorphisme dans OOP
3. Qu'est-ce que l'héritage dans OOP
4. Similitudes entre le polymorphisme et l'héritage dans la POO
5. Comparaison côte à côte - polymorphisme vs héritage dans la POO sous forme tabulaire
6. Résumé

Qu'est-ce que le polymorphisme dans OOP?

Le polymorphisme doit indiquer plusieurs formes. Un objet peut avoir plusieurs comportements. Le polymorphisme peut être divisé en deux catégories. Ils surchargement et remplacent.

Surcharge

Référer le programme ci-dessous écrit en java.

Figure 01: surcharge

Selon le programme ci-dessus, un objet de type A est créé. Lorsque vous appelez OBJ.somme(); il donnera la sortie liée à la méthode sum (). Lorsque vous appelez l'OBJ.somme (2,3); il donnera la sortie liée à la somme (int a, int b). On peut observer que le même objet a des comportements différents en fonction de la situation. Lorsqu'il existe plusieurs méthodes avec le même nom, mais avec des paramètres différents, il est appelé surcharge. Il est également connu sous le nom reliure statique ou compiler le polymorphisme temporel.

Primordial

Un autre type de polymorphisme est primordial. Référer le programme ci-dessous écrit en java.

Figure 02: remplacement

Selon le programme ci-dessus, il existe une méthode affichage () 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. C'est l'héritage. Le concept d'héritage est décrit plus tard.

La classe B a également la même méthode affichage (). Lors de la création d'un objet de type A et de la méthode d'affichage des appels, la sortie donnera b. La méthode d'affichage de la classe A est remplacée par la méthode d'affichage de classe B. Donc, la sortie est b.

Lorsqu'il existe des méthodes avec le même nom et les mêmes paramètres mais dans deux classes différentes, et elles sont liées à l'héritage, il est connu sous le nom. Il est également connu sous le nom Liaison tardive, liaison dynamique, polymorphisme d'exécution. La surcharge et le remplacement sont appelés polymorphisme. C'est un concept majeur dans la programmation orientée objet.

Qu'est-ce que l'héritage dans OOP?

Référer le programme ci-dessous écrit en java.

Figure 03: Exemple d'hérédité

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é Extende. La réutilisation des propriétés et des méthodes dans une classe existante pour créer une nouvelle classe est connue sous le nom de 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 plus ancienne est appelée le classe de base, superclasse ou classe parentale. La classe dérivée est appelée le sous-classe ou classe d'enfants.

Types d'héritage

Il existe différents types d'héritage. Ils sont un héritage à un niveau, un héritage à plusieurs niveaux, un héritage multiple, un héritage hiérarchique et un héritage hybride.

Héritage unique

Dans l'héritage unique, il y a une super classe et une sous-classe. Si la classe A est la super classe et que la classe B est 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é l'héritage à un niveau.

Héritage à plusieurs niveaux

Dans l'héritage à plusieurs niveaux, il y a trois niveaux de classes. La classe intermédiaire hérite de Super Class. Le sous-classe hérite de la classe intermédiaire. S'il y a trois classes en tant que A, B et C et A est la super classe et B est la classe intermédiaire. Puis B hérite de A et C hérite de B, c'est un héritage à plusieurs niveaux.

Héritage multiple

Dans un héritage multiple, il existe de nombreuses super classes et une sous-classe. S'il y a 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 un héritage multiple dans ces langues.

Héritage hiérarchique

S'il y a des classes appelées AS 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 classe A. Ce type de type d'héritage est appelé héritage hiérarchique.

Héritage hybride

Il existe un autre type d'héritage spécial qui est connu sous le nom d'héritage hybride. C'est une combinaison d'héréditations à plusieurs niveaux et multiples. Si A, B, C et D sont des classes et que B hérite de A et D hérite de B et C, alors c'est un héritage hybride.

Quelles sont les similitudes entre le polymorphisme et l'héritage dans la POO?

  • Les deux sont des concepts de programmation orientée objet.

Quelle est la différence entre le polymorphisme et l'héritage dans la POO?

Polymorphisme vs héritage dans la POO

Le polymorphisme est une capacité d'un objet à se comporter de plusieurs manières. L'héritage consiste à créer une nouvelle classe en utilisant 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éthodes au moment de la compilation et de l'exécution. L'héritage est utilisé pour la réutilisabilité du code.
Mise en œuvre
Le polymorphisme est mis en œuvre dans les méthodes. L'héritage est mis en œuvre dans les classes.
 Catégories
Le polymorphisme peut être divisé en surcharge et en remplacement. L'héritage peut être divisé en un seul niveau, à plusieurs niveaux, hiérarchique, hybride et héritage multiple.

Résumé - Polymorphisme vs héritage dans la POO 

Le polymorphisme et l'héritage sont des concepts majeurs dans la programmation orientée objet. La différence entre le polymorphisme et l'héritage dans la POO est que le polymorphisme est une interface commune à plusieurs formes et l'héritage consiste à créer une nouvelle classe en utilisant 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 polymorphisme PDF vs héritage dans OOP

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 le polymorphisme et l'héritage dans OOP

Référence:
  1. 8.3 Qu'est-ce que l'héritage à Java | Conférence | Didacticiel, Telusko Learning, 15 mai 2014. Disponible ici  
  2. Polymorphisme dans le tutoriel Java, Telusko Learning, 15 mai 2014. Disponible ici