L'héritage et le polymorphisme sont deux des quatre piliers fondamentaux de la programmation orientée objet (POO), avec l'abstraction et l'encapsulation. Ce sont deux concepts profonds qui permettent aux programmeurs d'écrire du code efficace et réutilisable.

Héritage

L'héritage est un mécanisme qui permet à une classe de dériver des propriétés et des comportements d'une autre classe. La classe dont une classe hérite est appelée classe de base, classe parent ou superclasse. La classe qui hérite est appelée classe dérivée, classe enfant ou sous-classe.

L'héritage est une forme de réutilisation du code. Il permet aux programmeurs de créer des classes qui s’appuient sur des classes existantes. Lorsqu'une classe hérite d'une autre classe, elle hérite de tous les membres publics et protégés de la classe de base. Cela signifie qu'une sous-classe peut avoir accès à plus d'informations que ce qui est réellement nécessaire, ce qui peut entraîner des problèmes d'encapsulation.

Par exemple, supposons que nous ayons une classe « Animal » avec des propriétés telles que « nom », « âge » et des méthodes telles que « manger » et « dormir ». Maintenant, si nous voulons créer une classe 'Dog', au lieu de réécrire toutes ces propriétés et méthodes, nous pouvons simplement faire en sorte que la classe 'Dog' hérite de la classe 'Animal'. Cela nous donne un accès immédiat à toutes les méthodes et propriétés de la classe 'Animal' dans la classe 'Dog'.

Polymorphisme

Le polymorphisme est un concept qui permet de traiter des objets de classes différentes comme des objets d'une classe commune. Ceci est particulièrement utile lorsque vous travaillez avec des classes héritées, car cela permet aux objets de sous-classe d'être traités comme des objets de superclasse.

Le polymorphisme permet d'utiliser le même nom de méthode pour les méthodes de différentes classes. Cela signifie que nous pouvons avoir une méthode portant le même nom dans différentes classes, mais avec un comportement différent. C'est ce qu'on appelle le polymorphisme au moment de la compilation ou la surcharge de méthode.

Par exemple, nous pouvons avoir une méthode 'draw' dans la classe 'Shape' et la même méthode 'draw' dans la classe 'Circle'. La méthode 'draw' dans la classe 'Shape' peut avoir une implémentation générique pour dessiner une forme, tandis que la méthode 'draw' dans la classe 'Circle' peut avoir une implémentation spécifique pour dessiner un cercle.

Le polymorphisme permet également d'utiliser la même méthode dans une classe de base et ses sous-classes, mais avec un comportement différent. C'est ce qu'on appelle le polymorphisme d'exécution ou la substitution de méthode.

Par exemple, nous pouvons avoir une méthode 'speak' dans la classe 'Animal' et la même méthode 'speak' dans la classe 'Dog'. La méthode 'speak' de la classe 'Animal' peut avoir une implémentation générique pour émettre un son, tandis que la méthode 'speak' de la classe 'Dog' peut avoir une implémentation spécifique pour aboyer.

Conclusion

L'héritage et le polymorphisme sont des concepts puissants qui permettent aux programmeurs d'écrire du code efficace et réutilisable. Ils sont fondamentaux pour la programmation orientée objet et sont largement utilisés dans la plupart des langages de programmation modernes.

En comprenant et en appliquant ces concepts, les programmeurs peuvent améliorer l'organisation du code, rendre le code plus lisible et maintenable, et profiter des avantages de la réutilisation et de l'encapsulation du code.

Répondez maintenant à l’exercice sur le contenu :

Quels sont les quatre piliers fondamentaux de la programmation orientée objet (POO) ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Encapsulation et abstraction 22

Page suivante de lebook gratuit :

Encapsulation et abstraction

Temps de lecture estimé : 2 minutes

Téléchargez l'application pour obtenir une certification gratuite et écouter des cours en arrière-plan, même avec l'écran éteint.

+ 9 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

60 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours vidéo et livres
audio gratuits