13. Héritage et polymorphisme en Java

La programmation orientée objet (POO) est un paradigme de programmation qui utilise des objets et leurs interactions pour concevoir et programmer des applications. Java est un langage de programmation qui prend entièrement en charge la POO et deux de ses concepts fondamentaux sont l'héritage et le polymorphisme. Ces concepts permettent la création d'un code plus modulaire, flexible et réutilisable.

Héritage en Java

L'héritage est un mécanisme par lequel une nouvelle classe, appelée sous-classe, peut hériter des champs et des méthodes d'une autre classe, appelée superclasse. L'héritage permet aux sous-classes d'avoir un point de départ commun, partageant des caractéristiques et des comportements, évitant ainsi la duplication de code.

classe Véhicule { marque String protégée; public void klaxon() { System.out.println("Bip ! Bip !"); } } la classe Car étend le véhicule { numéro int privéDePortas ; public void displayInformation() { System.out.println("Marque : " + marque + ", Ports : " + numberOfPortas); } }

Dans l'exemple ci-dessus, la classe Car hérite de la classe Vehicle. Cela signifie que Car peut accéder au champ brand et à la méthode horn() de la classe Vehicle. Le mot clé extends est utilisé pour établir cette relation d'héritage en Java.

Polymorphisme en Java

Le polymorphisme est la capacité d'un objet à être référencé de plusieurs manières. Plus précisément, il s’agit de la capacité d’une méthode à être mise en œuvre de plusieurs manières différentes. En Java, le polymorphisme peut être obtenu grâce à l'utilisation de méthodes remplacées et surchargées.

Une méthode remplacée est une méthode héritée d'une superclasse et redéfinie dans la sous-classe. Cela permet à la sous-classe de fournir une implémentation spécifique pour cette méthode. L'annotation @Override est couramment utilisée pour indiquer qu'une méthode est remplacée.

classe Véhicule { public void klaxon() { System.out.println("Bip ! Bip !"); } } la classe Car étend le véhicule { @Passer outre public void klaxon() { System.out.println("Honk ! Honk !"); } }

Dans l'exemple ci-dessus, la classe Car remplace la méthode horn() de la classe Vehicle, fournissant sa propre implémentation.

Le polymorphisme permet également de traiter un objet d'une sous-classe comme s'il était un objet de sa superclasse. Ceci est particulièrement utile lorsqu'il s'agit de collections d'objets partageant une classe de base commune.

Véhicule monVéhicule = new Car(); monVéhicule.horn(); // Appelle la méthode honk() de la classe Car

Ici, myVehicle est une référence de type Vehicle, mais pointe vers une instance de Car. Lorsque la méthode horn() est appelée, l'implémentation remplacée dans Car est exécutée.

Considérations importantes sur l'héritage et le polymorphisme

Bien que l'héritage et le polymorphisme soient puissants, ils doivent être utilisés avec prudence. Un héritage excessif ou inapproprié peut conduire à une structure de classe confuse et difficile à maintenir. Il est important de suivre le principe du « moindre savoir » et d’exposer uniquement ce qui est nécessaire. De plus, la composition peut souvent être une alternative plus flexible à l'héritage.

Le polymorphisme, en revanche, lorsqu'il est utilisé à bon escient, peut rendre le code plus générique et réutilisable. Par exemple, une fonction qui opère sur des objets de type Vehicle peut fonctionner avec n'importe quelle sous-classe de Vehicle, sans avoir besoin de connaître les détails spécifiques de chaque sous-classe.

Conclusion

L'héritage et le polymorphisme sont fondamentaux dans la programmation orientée objet en Java. Ils permettent aux développeurs de créer des systèmes extensibles et réutilisables, réduisant ainsi la redondance du code et améliorant la maintenabilité. Dans le même temps, il est essentiel d’utiliser ces concepts de manière réfléchie et de comprendre leurs implications pour la conception de logiciels. Avec de la pratique et de l'expérience, les programmeurs peuvent maîtriser l'utilisation efficace de l'héritage et du polymorphisme pour créer des applications Java robustes et flexibles.

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

Laquelle des affirmations suivantes concernant l’héritage et le polymorphisme en Java est correcte ?

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 : concept d'héritage

Page suivante de lebook gratuit :

85Héritage et polymorphisme en Java : concept d'héritage

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