Junior
Comment une classe héritée utilise-t-elle la fonctionnalité de la classe parente?
sobes.tech IA
Réponse de l'IA
Par héritage : la classe dérivée reçoit les membres publics et protégés de la classe parente.
- Accès direct : On peut accéder directement aux champs et méthodes publics et protégés du parent par leur nom à l’intérieur de la classe dérivée.
- Mot-clé
super: Utilisé pour appeler le constructeur du parent ou pour accéder aux méthodes/champs redéfinis du parent lorsque dans la classe dérivée il y a des membres avec le même nom. - Redéfinition (overriding) : Les méthodes du parent (qui ne sont pas
final) peuvent être redéfinies dans la classe dérivée, en modifiant leur comportement.
// Exemple de classe parente
class Parent {
protected int parentValue;
public Parent(int value) {
this.parentValue = value;
}
public void displayParentValue() {
System.out.println("Valeur du parent : " + parentValue);
}
public final void cannotBeOverridden() {
System.out.println("Cette méthode ne peut pas être redéfinie.");
}
}
// Exemple de classe dérivée
class Child extends Parent {
private int childValue;
public Child(int parentValue, int childValue) {
super(parentValue); // Appel au constructeur du parent
this.childValue = childValue;
}
// Redéfinition de la méthode du parent
@Override
public void displayParentValue() {
System.out.println("Valeur redéfinie du parent : " + parentValue); // Accès au champ protégé du parent
}
public void displayChildValue() {
System.out.println("Valeur de l’enfant : " + childValue);
}
public void callParentMethod() {
super.displayParentValue(); // Appel de la méthode du parent via super
}
}