1 - Introduction
L'héritage en Java est un processus dans lequel une classe acquiert les propriétés (attributs et méthodes ) d'une autre classe Java. Avec l'utilisation de l'héritage, les données et informations sont gérés dans un ordre hiérarchique bien organisé et structuré.
La classe qui hérite des propriétés d'une autre classe est appelée sous-classe (classe dérivée ou classe fille) et la classe dont les propriétés sont héritées est appelée superclasse (classe de base, classe parente, classe mère...).
La déclaration d'une sous classe se fait à l'aide du mot clé Extends
Extends est le mot clé utilisé pour hériter des propriétés d'une classe.
Syntaxe
2 - Héritage Java : étude d'exemple
Pour bien comprendre l'héritage Java, nous allons traiter un exemple simple d'une classe être humain et d'une sous classe Employé
La classe être humain est dotée des attributs :
- nom
- age
- adresse
Un employé est aussi un être humain et par suite la sous classe employé hérite les mêmes propriétés nom, age, adresse... de la classe mère être humain , néanmoins la classe fille employé possède d'autres attributs inexistants chez la classe mère comme salaire, grade...
Remarque :
L'héritage d'un attribut se fait grâce au mot clé super
Exemple ( classe mère )
Exemple ( classe fille )
Ce qui affiche après exécution :
Le nom de l'enseignant est Robert
Le salaire de l'enseignant est 3500 Euro
3 - Polymorphisme en Java
Dans le paragraphe précédent , nous avons parlé de superclasses et de sous-classes. Si une classe hérite d'une méthode de sa superclasse, alors il y a une chance de reformuler la méthode à condition qu'il n'est pas marqué final.
L'avantage de la substitution est la capacité de définir un comportement spécifique au type de sous-classe, ce qui signifie qu'une sous-classe peut implémenter une méthode de classe parent en fonction de son besoin et ses exigences.
Exemple
Et pour exécuter le code de cette classe nous aurons besoin d'une autre classe doté d'une méthode static void main()
Ce qui affiche après exécution sur Eclipse :
Un animal peut se déplacer
Un chien peut courir
Un oiseau peut voler
4 - Usage de l’annotation @Override ( reformuler une méthode Java )
L’annotation @Override est utilisée en Java pour reformuler une méthode dans le cas du polymorphisme Java. Si la formule en question ne redéfinit pas une autre dans la classe mère, le compilateur signale une erreur !
Exemple
@Override indique ici au compilateur que la classe Enfant utilise la méthode affcher() de la classe Parent mais avec modification : au lieu d’afficher le message : C’est la méthode de la classe Parent elle doit afficher un autre qui est propre à la classe Enfant : C’est la méthode de la classe Enfant.
Certainement vous n’avez pas pu comprendre réellement l’avantage et l’effet de cette annotation !
Comme nous l’avons déjà mentionné ci-dessus : Si la formule en question ne redéfinit pas une autre dans la classe mère, le compilateur signale une erreur !. Amusons nous par exemple faire une petite modification sur le nom de la formule en question :
Essayons à titre d’exemple de remplacer la méthode afficher() dans la classe Enfant par afiche();
Younes Derfoufi
CRMEF OUJDA