Comment redéfinir une méthode héritée dans une sous-classe ?
Savoir redéfinir une méthode héritée dans une sous-classe pour lui donner un comportement spécialisé.
Savoir redéfinir une méthode héritée dans une sous-classe pour lui donner un comportement spécialisé.
Redéfinir une méthode consiste à la redéclarer dans la sous-classe avec exactement la même signature (type de retour, nom, types des paramètres) mais un corps différent.
La classe Vehicule a une méthode void affiche() qui affiche l'immatriculation. Redéfinir cette méthode dans Voiture pour afficher aussi le nombre de places.
Repérer la méthode dans Vehicule : void affiche() affiche seulement l'immatriculation.
class Vehicule {
String immatriculation;
void affiche() {
System.out.println("Vehicule : " + immatriculation);
}
}
Redéclarer affiche() dans Voiture avec exactement la même signature.
class Voiture extends Vehicule {
int nombrePlaces;
void affiche() { // même signature
// corps différent
}
}
Écrire le nouveau corps spécifique à Voiture.
class Voiture extends Vehicule {
int nombrePlaces;
void affiche() {
System.out.println("Voiture : " + immatriculation
+ " a " + nombrePlaces + " places");
}
}
Voiture.affiche() affiche immatriculation + nombrePlaces, remplaçant Vehicule.affiche().
La classe Animal a String cri() qui retourne "...". Redéfinir dans Chien pour retourner "Ouaf!" et dans Chat pour retourner "Miaou!".
La classe Forme a double aire() qui retourne 0. Redéfinir dans Cercle (rayon) pour retourner π×r² et dans Rectangle (largeur, hauteur) pour retourner l×h.
Crée ton compte gratuit pour accéder à la fiche et aux exercices