Java - 6.5 Héritage en Java avec extends et super
L'héritage permet à une classe fille de reprendre les attributs et les méthodes d'une classe mère. Cette leçon reprend l'exemple d'un animal, avec les classes Chien et Canard. Elle montre comment écrire un héritage et comment les constructeurs se transmettent.
Créer la classe mère Animal
La classe Animal possède deux attributs : le nom et la taille. Elle contient un constructeur qui initialise ces attributs, ainsi que des méthodes publiques.
Ces méthodes publiques seront accessibles depuis les classes qui héritent d'Animal, comme Chien et Canard.
Créer une classe fille avec extends
Les classes Chien et Canard héritent d'Animal grâce au mot-clé extends. Le chien possède ensuite son propre attribut, la couleur.
Une classe fille ne reprend pas automatiquement le constructeur de la classe mère. Il faut appeler super, qui transmet les paramètres au constructeur de la classe mère.
La classe fille peut aussi avoir son propre constructeur, qui appelle super pour initialiser les attributs hérités.
public class Chien extends Animal {
Tester l'héritage
Dans le programme principal, on crée un animal, puis un chien avec un nom, une taille et une couleur. Le chien accède aux méthodes de la classe Animal, car il hérite de sa classe mère.
La vidéo redéfinit ensuite une méthode héritée dans la classe fille, avec l'annotation Override. Cette annotation indique qu'une méthode héritée est redéfinie, et la classe fille remplace alors le comportement hérité.
En résumé
Une classe fille hérite de sa classe mère avec extends. Elle reprend les attributs et les méthodes publiques, et appelle super pour le constructeur de la mère. L'annotation Override signale une méthode redéfinie.
Points clés
- Le mot-clé extends fait hériter une classe fille d'une classe mère.
- La classe fille reprend les méthodes publiques de la classe mère.
- super appelle le constructeur de la classe mère.
- Chien ajoute un attribut couleur à ceux d'Animal.
- L'annotation Override signale une méthode redéfinie.
Questions fréquentes
Pourquoi utiliser super dans une classe fille ?
Le constructeur de la classe mère doit être appelé pour initialiser les attributs hérités. Super transmet les paramètres à ce constructeur.
Une classe fille peut-elle utiliser les méthodes de sa mère ?
Oui, la vidéo montre que l'objet Chien accède aux méthodes d'Animal grâce à l'héritage.
Que signifie l'annotation Override ?
Elle indique qu'une méthode de la classe fille redéfinit une méthode héritée de la classe mère.