- Auteur

- Nom
- Nelson Silva
- Social
Introduction
Si la première introduction à l'héritage en Java nous aide à comprendre ses concepts fondamentaux, dans cet article nous allons approfondir des sujets plus avancés tels que la substitution de méthodes et l'abstraction.
Substitution de Méthodes
Lorsqu'une sous-classe hérite d'une superclasse, elle hérite également de ses méthodes. Cependant, dans de nombreux cas, nous voulons que la sous-classe dispose d'une implémentation différente pour une ou plusieurs de ces méthodes. Cela s'obtient grâce à la substitution de méthodes, en utilisant l'annotation @Override.
Avantages de la Substitution de Méthodes :
- Flexibilité : Permet à la sous-classe de fournir une implémentation spécifique d'une méthode déjà fournie par sa superclasse.
- Réutilisation du Code : Même en héritant d'une méthode d'une superclasse, nous pouvons l'adapter aux besoins spécifiques de la sous-classe.
- Meilleure Lisibilité : En utilisant l'annotation
@Override, nous signalons clairement que la méthode est substituée, rendant le code plus compréhensible.
package com.caffeinealgorithm.programaremjava;
public class EnSavoirPlusSurHeritage {
public void Run() {
var personne = new Fils();
personne.information();
personne.platPrefere();
/*
Nom : Nelson Silva
Âge : 28
Mon plat préféré est les lasagnes.
*/
}
}
class Pere {
protected String nomDeFamille = "Silva";
public void platPrefere() {
System.out.println("Mon plat préféré est le riz aux fruits de mer.");
}
}
class Fils extends Pere {
private String prenom = "Nelson";
private int age = 28;
public void information() {
System.out.printf("Nom : %s %s\n", prenom, nomDeFamille);
System.out.printf("Âge : %d\n", age);
}
@Override
public void platPrefere() {
System.out.println("Mon plat préféré est les lasagnes.");
}
}
Abstraction et Méthodes Abstraites
Le terme "abstract" a été brièvement mentionné précédemment. Il s'agit d'un concept important en Java, permettant de créer des classes et des méthodes qui ne peuvent pas être instanciées. Ce sont, en substance, des modèles que d'autres classes doivent suivre.
- Classes Abstraites : Ne peuvent pas être instanciées directement. Elles servent de base à d'autres classes.
- Méthodes Abstraites : Sont déclarées dans la classe abstract mais n'ont pas de corps. Les sous-classes doivent fournir l'implémentation de ces méthodes.
Nous explorerons ce sujet en détail dans un prochain article, garantissant une compréhension complète de l'abstraction et de la façon dont elle s'intègre à l'héritage.
Conclusion
L'héritage, combiné à des concepts tels que la substitution de méthodes et l'abstraction, fait de la programmation orientée objet un outil puissant pour créer des logiciels modulaires et réutilisables. Ce ne sont là que quelques-uns des concepts avancés en Java, et continuer à les explorer approfondira encore davantage vos connaissances.