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

L'héritage est l'un des piliers fondamentaux de la programmation orientée objet (POO), et Java, étant un langage qui adopte ce paradigme, offre des ressources robustes pour sa mise en œuvre. L'héritage est un mécanisme qui permet à une nouvelle classe de dériver des propriétés et des comportements d'une classe existante. La classe héritée est appelée classe de base, superclasse ou classe parent, tandis que la classe qui hérite est appelée classe dérivée, sous-classe ou classe enfant.

En pratique, l'héritage permet de réutiliser du code et de créer une hiérarchie de classes liées. Cela permet non seulement d'économiser du temps et des efforts dans le développement de logiciels, mais permet également de garder le code organisé, plus facile à maintenir et à développer.

Comment fonctionne l'héritage en Java

En Java, l'héritage s'effectue avec le mot-clé extends. Lorsqu'une classe est définie comme l'extension d'une autre, elle hérite de tous les champs (attributs) et méthodes non privés de la classe parent. Cela signifie que la classe enfant peut utiliser ces membres comme les siens.

Exemple :

classe Véhicule { marque de chaîne protégée = « Ford » ; // Attribut de classe de véhicule public void honk() { // Méthode de classe de véhicule System.out.println("Tuut, tuut!"); } } la classe Car étend le véhicule { private String modelName = "Mustang"; // Attribut de classe de voiture public static void main (String[] arguments) { // Crée un objet de la classe Car Voiture maVoiture = nouvelle Voiture(); // Appel de la méthode de la classe Vehicle maVoiture.honk(); // Accède à l'attribut Classe de véhicule System.out.println(myCar.brand + " " + myCar.modelName); } }

Dans cet exemple, Car est une sous-classe de Vehicle. La classe Car hérite de la méthode honk et de l'attribut brand de la classe Vehicle, et définit également son propre attribut , NomModèle.

Remplacement de méthode

Une sous-classe en Java peut remplacer les méthodes de la superclasse. Ceci est effectué lorsque la sous-classe a besoin d'une implémentation spécifique pour une méthode héritée. L'exposant est une forme de polymorphisme, qui sera discuté plus tard.

Exemple :

classe Animal { son public vide() { System.out.println("L'animal fait un bruit"); } } la classe Cochon étend Animal { son public vide() { System.out.println("Le cochon dit : pipi"); } } classe principale { public static void main (String[] arguments) { Animal monAnimal = new Animal(); // Crée un objet de la classe Animal Animal monCochon = new Pig(); // Crée un objet de la classe Pig monAnimal.sound(); monCochon.sound(); } }

Dans cet exemple, la classe Pig remplace la méthode sound de la classe Animal. Lorsque la méthode est appelée sur l'objet myPig, l'implémentation de la classe Pig est utilisée, et non celle de la classe Animal.

Utiliser super

Le mot-clé super en Java est utilisé dans les méthodes de sous-classe pour faire référence aux membres (méthodes ou attributs) de la superclasse. Ceci est particulièrement utile lorsque nous redéfinissons des méthodes tout en souhaitant accéder à l'implémentation de la superclasse.

Exemple :

classe Animal { son public vide() { System.out.println("L'animal fait un bruit"); } } la classe Cochon étend Animal { son public vide() { super.sound(); // Appel de la méthode superclasse System.out.println("Le cochon dit : pipi"); } }

Ici, la classe Pig appelle la méthode sound de la superclasse Animal avant d'exécuter son propre code.

Polymorphisme en Java

Le polymorphisme, un autre pilier de la POO, permet de traiter des objets de différentes classes comme des objets d'une superclasse commune. Ceci est particulièrement puissant en combinaison avec l'héritage, car cela permet à une seule méthode ou classe d'opérer sur des objets de différentes classes.

Le polymorphisme en Java est, pour l'essentiel, réalisé grâce à la surcharge et au remplacement de méthodes. La surcharge se produit lorsque deux méthodes ou plus de la même classe ont le même nom mais des paramètres différents. Comme nous l'avons vu, la substitution se produit lorsqu'une sous-classe fournit une implémentation spécifique pour une méthode déjà fournie par sa superclasse.

Exemple de polymorphisme :

classe Animal { son public vide() { System.out.println("L'animal fait un bruit"); } } la classe Cochon étend Animal { son public vide() { System.out.println("Le cochon dit : pipi"); } } la classe Chien étend Animal { son public vide() { System.out.println("Le chien dit : bow wow"); } }classe principale { public static void main (String[] arguments) { Animal monAnimal = new Animal(); Animal monCochon = new Pig(); Animal monDog = new Dog(); monAnimal.sound(); monCochon.sound(); monDog.sound(); } }

Dans cet exemple, la classe Main crée des objets de différents types, mais ils sont tous traités comme des instances de la classe Animal. Cela démontre un polymorphisme, car la méthode sound se comporte différemment selon le type d'objet qui l'invoque.

Conclusion

L'héritage et le polymorphisme sont des concepts clés de la programmation orientée objet et sont largement utilisés en Java pour créer du code réutilisable et des systèmes extensibles. En comprenant et en appliquant ces concepts, les développeurs peuvent écrire du code plus propre, plus modulaire et plus facile à maintenir.

Ce cours Java devrait vous fournir une solide compréhension de ces concepts, vous permettant de les appliquer dans des scénarios réels et de créer des applications robustes et efficaces.

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

Parmi les affirmations suivantes concernant l’héritage en Java, laquelle 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 : mot clé « étend »

Page suivante de lebook gratuit :

86Héritage et polymorphisme en Java : mot clé « étend »

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