Comment appeler la version de la super-classe d'une méthode redéfinie via super.m() ?
super.nomMethode(args) à l'intérieur du corps de la méthode redéfinieSavoir réutiliser le comportement de la super-classe dans une redéfinition en appelant super.nomMethode(args).
Savoir réutiliser le comportement de la super-classe dans une redéfinition en appelant super.nomMethode(args).
Dans le corps d'une méthode redéfinie, super.nomMethode(args) appelle la version de la super-classe directe, ce qui permet d'étendre le comportement hérité plutôt que de le remplacer totalement.
super.nomMethode(args) à cet endroit pour déléguer à la version héritée.La classe Adresse a void affiche() qui affiche numéro et rue. AdresseDetaillee redéfinit affiche() pour afficher aussi l'étage, en réutilisant l'affichage de la super-classe.
La méthode dans Adresse affiche numéro et rue — c'est ce qu'on veut réutiliser.
class Adresse {
String rue;
int numero;
void affiche() {
System.out.println(numero + " " + rue);
}
}
super.nomMethode(args) à cet endroit pour déléguer à la version héritée.Appeler super.affiche() dans la redéfinition pour afficher ce que fait déjà la super-classe.
class AdresseDetaillee extends Adresse {
int etage;
@Override
void affiche() {
super.affiche(); // affiche numéro + rue
}
}
Ajouter la logique supplémentaire après l'appel à super.
class AdresseDetaillee extends Adresse {
int etage;
@Override
void affiche() {
super.affiche(); // numéro + rue
System.out.println("étage " + etage); // logique ajoutée
}
}
// Test
AdresseDetaillee ad = new AdresseDetaillee();
ad.rue="Palaiseau"; ad.numero=1; ad.etage=3;
ad.affiche(); // 1 Palaiseau
étage 3
super.affiche() réutilise l'affichage de Adresse, puis l'étage est affiché en plus.
La méthode String description() de Animal retourne "Animal: {nom}". La redéfinir dans Chien pour retourner la description de Animal suivie de " Race: {race}" en utilisant super.
Redéfinir double prix() de Produit dans ProduitPromo pour retourner le prix de base moins une remise, en appelant super.prix().
Crée ton compte gratuit pour accéder à la fiche et aux exercices