Image de l'article Héritage et polymorphisme : polymorphisme

18.2. Héritage et polymorphisme : polymorphisme

Page 60 | Écouter en audio

Le polymorphisme est l'un des principaux concepts de la programmation orientée objet. Il s'agit d'une extension du concept d'héritage et est fondamental pour la flexibilité et la réutilisation du code dans un programme. Le terme polymorphisme vient du grec et signifie « plusieurs formes ». En programmation, cela fait référence à la capacité d'un objet à prendre de nombreuses formes différentes.

En pratique, le polymorphisme permet à une classe d'hériter des méthodes et des attributs d'une autre classe, mais de les modifier en fonction de ses besoins spécifiques. Cela signifie qu'un objet d'une classe enfant peut être traité comme un objet de sa classe parent, mais conserve toujours sa propre identité et son propre comportement.

Pour mieux comprendre le polymorphisme, il est utile de considérer un exemple. Supposons que nous ayons une classe parent appelée "Animal" qui possède une méthode appelée "talk". Cette classe peut avoir plusieurs classes enfants, telles que "Dog", "Cat" et "Bird", chacune pouvant avoir sa propre méthode "speak".

Dans la classe "Animal", la méthode "speak" peut ne rien faire, ou elle peut afficher un message générique tel que "L'animal fait un son". Cependant, dans la classe "Dog", la méthode "talk" peut être surchargée pour afficher "Le chien aboie", dans la classe "Cat" pour imprimer "Le chat miaule", et dans la classe "Bird" pour imprimer "Le l'oiseau chante". .

C'est le polymorphisme en action. Même si tous ces objets sont traités comme des animaux, chacun d’eux parle d’une manière différente. Cela permet au code d'être plus flexible et réutilisable car nous n'avons pas besoin d'écrire de code spécifique pour chaque type d'animal. Au lieu de cela, nous pouvons écrire du code générique qui fonctionne avec n'importe quel type d'animal.

Le polymorphisme peut également être utilisé avec des interfaces, qui sont similaires aux classes mais ne contiennent pas d'implémentations de méthodes, juste leurs signatures. Une classe peut implémenter de nombreuses interfaces et donc prendre de nombreuses formes différentes. Ceci est particulièrement utile lorsque nous voulons qu'une classe ait un comportement spécifique qui ne peut pas être hérité de sa classe parent.

Par exemple, nous pourrions avoir une interface appelée « Swimmer » qui possède une méthode appelée « swim ». Une classe « Person » peut implémenter cette interface, ce qui signifie qu'une personne peut nager. Cependant, une classe « Rock » ne peut pas implémenter cette interface, car un rocher ne peut pas nager. Ainsi, même si "Personne" et "Rock" peuvent être traités comme des objets génériques, seule "Personne" peut nager.

En résumé, le polymorphisme est un concept puissant qui permet aux objets de prendre de nombreuses formes différentes et de se comporter différemment selon leur classe ou leur interface. Il est fondamental pour la programmation orientée objet et essentiel pour créer des programmes flexibles et réutilisables.

Pour maîtriser le polymorphisme, il est important de bien comprendre l'héritage et les interfaces, et de s'entraîner à créer des classes et des interfaces qui utilisent le polymorphisme. Avec le temps et la pratique, le polymorphisme deviendra un outil précieux dans votre arsenal de programmation.

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

Qu'est-ce que le polymorphisme en programmation orientée objet ?

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

Vous avez raté! Essayer à nouveau.

Image de l'article Encapsulation

Page suivante de lebook gratuit :

61Encapsulation

2 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

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

Cours gratuits en
vidéo, audio et texte