Différence entre polymorphisme et héritage en POO

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 utilisant des classes et des 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 traite de la différence entre le polymorphisme et l'héritage en POO. le différence clé entre le polymorphisme et l'héritage en POO est que Le polymorphisme est la capacité d'un objet à se comporter de différentes manières. Héritage consiste à créer une nouvelle classe à l'aide des propriétés et des méthodes d'une classe existante..

CONTENU

1. Vue d'ensemble et différence clé
2. Qu'est-ce que le polymorphisme en POO?
3. Qu'est-ce que l'héritage en POO?
4. Similarités entre polymorphisme et 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 des formes multiples. Un objet peut avoir plusieurs comportements. Le polymorphisme peut être divisé en deux catégories. Ils surchargent et dominent.

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éé. Lorsque vous appelez obj.sum (); cela donnera la sortie liée à la méthode sum (). Lorsque vous appelez obj.sum (2,3); il donnera le résultat lié à sum (int a, int b). On peut observer que le même objet a des comportements différents selon les situations. 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 comme reliure statique ou polymorphisme de temps de compilation.

Primordial

Un autre type de polymorphisme est primordial. Reportez-vous au programme ci-dessous écrit en Java.

Figure 02: Remplacement

Selon le programme ci-dessus, il existe une méthode display () de 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 d'un 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. Donc, la sortie est B.

Quand 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 comme Liaison tardive, liaison dynamique, polymorphisme à l'exécution. La surcharge et le dépassement sont appelés Polymorphisme. C'est un concept majeur de la programmation orientée objet.

Qu'est-ce que l'héritage en 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 à l’aide du mot-clé extend. La réutilisation des propriétés et des méthodes d'une classe existante pour créer une nouvelle classe s'appelle Héritage. Même s'il n'y a pas de méthode sum () en classe B; il est hérité de la classe A. L'héritage est utile pour la réutilisation du code. La classe la plus ancienne est appelée la classe de base, superclasse ou classe parent. La classe dérivée est appelée la sous-classe ou classe enfant.

Types d'héritage

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

Héritage unique

Dans l'héritage simple, il existe 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, on l'appelle héritage à un seul niveau.

Héritage à plusieurs niveaux

Dans l'héritage multi-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 sont 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 plusieurs super classes et une sous-classe. S'il existe trois super-classes appelées A, B, C et D étant la sous-classe, 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 langages.

Héritage hiérarchique

S'il existe des classes appelées A en tant que super classes et B, C sont des sous-classes, celles-ci peuvent hériter des propriétés et des méthodes de la 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 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 que B hérite de A et D hérite à la fois de B et C, 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?

Polymorphisme vs héritage en POO

Le polymorphisme est la capacité d'un objet à se comporter de multiples façons.. L'héritage consiste à créer une nouvelle classe en utilisant les propriétés et les 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éutilisation du code.
la mise en oeuvre
Le polymorphisme est implémenté dans les méthodes. L'héritage est implémenté dans les classes.
 Les catégories
Le polymorphisme peut être divisé en surcharge et en dépassement. L'héritage peut être divisé en un 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 Polymorphism et Héritage en POO réside dans le fait que le Polymorphisme est une interface commune à plusieurs formulaires et en Héritage consiste à créer une nouvelle classe à l'aide des propriétés et méthodes d'une classe existante. Les deux concepts sont largement utilisés dans le développement de logiciels.

Télécharger le PDF Polymorphisme vs Héritage en POO

Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne, conformément à la note de citation. Veuillez télécharger la version PDF ici Différence entre polymorphisme et héritage en POO

Référence:
  1. 8.3 Qu'est-ce que l'héritage en Java | Conférence | Didacticiel, Telusko Learning, le 15 mai 2014. Disponible ici  
  2. Tutoriel sur le polymorphisme en Java, Telusko Learning, le 15 mai 2014. Disponible ici