Comment vérifier dynamiquement si un objet est instance d'une classe avec instanceof ?
objet instanceof Classe dans une conditionSavoir utiliser instanceof pour tester dynamiquement la classe d'un objet et adapter le traitement en conséquence.
Savoir utiliser instanceof pour tester dynamiquement la classe d'un objet et adapter le traitement en conséquence.
objet instanceof Classe retourne true si objet est une instance de Classe ou d'une sous-classe, ce qui permet de différencier les comportements selon le type réel de l'objet à l'exécution.
if (objet instanceof Classe) pour tester dynamiquement la classe de l'objet.if, traiter l'objet en sachant qu'il est bien une instance de Classe.Une méthode prend une Personne en argument et adapte le salut selon que la personne est un Eleve ou non.
if (objet instanceof Classe) pour tester dynamiquement la classe de l'objet.Tester si p est un Eleve avec instanceof.
class Personne { String nom; Personne(String n) { nom=n; } }
class Eleve extends Personne {
int promo;
Eleve(String n, int p) { super(n); promo=p; }
}
static String saluer(Personne p) {
if (p instanceof Eleve) { // test dynamique
// ...
} else {
// ...
}
return "";
}
if, traiter l'objet en sachant qu'il est bien une instance de Classe.Dans le bloc if, on sait que p est un Eleve.
if (p instanceof Eleve) {
// p est bien un Eleve ici
return "Salut !";
} else {
return "Bonjour !";
}
Caster pour accéder aux champs spécifiques à Eleve.
if (p instanceof Eleve) {
Eleve e = (Eleve) p; // cast sûr ici
return "Salut ! promo " + e.promo;
}
Personne prof = new Personne("M. Dupont");
Personne eleve = new Eleve("Alice", 2025);
System.out.println(saluer(prof)); // Bonjour !
System.out.println(saluer(eleve)); // Salut ! promo 2025
instanceof distingue Eleve et Personne ; le cast dans le bloc if est alors garanti sûr.
Vérifier qu'un objet Electrique est aussi instance de Voiture et de Vehicule grâce à instanceof.
Utiliser instanceof pour traiter différemment les Cercle et Rectangle dans un tableau de Forme.
Crée ton compte gratuit pour accéder à la fiche et aux exercices