13.8 Héritage et polymorphisme en Java : concept de polymorphisme

Le concept de polymorphisme est l'un des piliers fondamentaux de la programmation orientée objet (POO), et Java, étant un langage qui adopte ce paradigme, offre une prise en charge complète de cette caractéristique. Le terme polymorphisme vient du grec « polys », qui signifie plusieurs, et « morphē », qui signifie forme. En programmation, cela fait référence à la capacité d'une variable, d'une fonction ou d'un objet à prendre diverses formes.

Polymorphisme en Java

En Java, le polymorphisme se manifeste principalement de deux manières : le polymorphisme de surcharge et le remplacement. Le premier fait référence à la possibilité d’avoir plusieurs fonctions portant le même nom mais des listes de paramètres différentes au sein de la même classe. La seconde, qui fait l'objet de ce texte, est liée à l'héritage et permet à une classe enfant de fournir une implémentation spécifique d'une méthode déjà fournie par l'une de ses classes ou superclasses parent.

Héritage et polymorphisme

L'héritage permet à une nouvelle classe, appelée sous-classe, d'hériter des champs et des méthodes d'une autre classe, appelée superclasse. Le polymorphisme de substitution entre en jeu lorsqu'une sous-classe redéfinit une méthode de la superclasse. Cela permet à la sous-classe de spécialiser ou de modifier le comportement de la méthode héritée. Lorsqu'un objet de sous-classe est utilisé, la méthode redéfinie est celle qui sera appelée, même si la référence est de type superclasse.

Exemple de polymorphisme

classe Animal { son vide() { System.out.println("L'animal fait un bruit"); } } la classe Chien étend Animal { @Passer outre son vide() { System.out.println("Le chien aboie"); } } la classe Chat étend Animal { @Passer outre son vide() { System.out.println("Le chat miaule"); } } classe publique TestPolymorphisme { public static void main (String[] arguments) { Animal monAnimal = new Animal(); Animal monDog = new Dog(); Animal monChat = nouveau Chat(); monAnimal.sound(); // Sortie : L'animal fait un son monDog.sound(); // Sortie : Le chien aboie monChat.sound(); // Sortie : Le chat miaule } }

Dans l'exemple ci-dessus, la classe Animal a une méthode sound() qui est redéfinie (remplacée) dans les classes Dog et < code> Chat. Bien que les références myCachorro et myCat soient de type Animal, les méthodes appelées sont celles des classes réelles des objets, c'est-à-dire Chien et Gato, respectivement. C'est le polymorphisme en action.

Avantages du polymorphisme

Le polymorphisme apporte plusieurs avantages au développement de logiciels, notamment :

  • Flexibilité : vous permet d'écrire du code capable de fonctionner avec des objets de différents types et classes.
  • Réutilisation du code : le même code peut être utilisé pour interagir avec des objets de différentes classes dérivées de la même superclasse.
  • Maintenabilité : facilite la maintenance et la mise à jour du code, puisque les modifications apportées à une superclasse peuvent être automatiquement héritées par les sous-classes.

Interfaces et polymorphisme

En plus de l'héritage de classe, le polymorphisme en Java peut également être obtenu via des interfaces. Une interface définit un contrat que les classes concrètes doivent suivre, spécifiant les méthodes qui doivent être implémentées. Puisqu'une classe implémente une interface, tout objet de cette classe peut être considéré comme étant du type de l'interface. Cela permet à différentes classes qui implémentent la même interface d'être traitées de manière polymorphe.

Interface animale { son vide (); } la classe Chien implémente Animal { @Passer outre son public vide() { System.out.println("Le chien aboie"); } } la classe Cat implémente Animal { @Passer outre son public vide() { System.out.println("Le chat miaule"); } } classe publique TestInterfacePolymorphism { public static void main (String[] arguments) { Animal monDog = new Dog(); Animal monChat = nouveau Chat(); monDog.sound(); // Sortie : Le chien aboie monChat.sound(); // Sortie : Le chat miaule } }

Dans l'exemple ci-dessus, Animal est une interface, et les classes Dog et Cat implémentent cette interface. Cela permet aux objets des deux classes d'être référencés en tant qu'objets de type Animal et le code peut interagir avec eux de manière polymorphe.

Considérations finales

Le polymorphisme est un concept puissant qui permet la construction de systèmes flexibles et facilement extensibles. En Java, l'implémentation du polymorphisme est simple et naturelle, grâce à son support rob.Utilisation de la programmation orientée objet. Comprendre et appliquer correctement le polymorphisme est essentiel pour tout développeur Java souhaitant créer du code réutilisable, maintenable et évolutif.

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

Laquelle des affirmations suivantes décrit le mieux le polymorphisme de substitution en Java, comme expliqué dans le texte ?

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

Vous avez raté! Essayer à nouveau.

Image de l'article Héritage et polymorphisme en Java : polymorphisme d'exécution

Page suivante de lebook gratuit :

93Héritage et polymorphisme en Java : polymorphisme d'exécution

0 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