Se passer de instanceof et getClass()
Résolu/Fermé
Miko
-
14 oct. 2017 à 16:14
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 14 oct. 2017 à 17:55
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 14 oct. 2017 à 17:55
A voir également:
- Se passer de instanceof et getClass()
- Passer de windows 7 à windows 10 - Guide
- Mot de passe administrateur freebox ✓ - Forum Freebox
- Passer de qwerty a azerty - Guide
- Piratage facebook changer mot de passe - Guide
- J'ai oublié mon mot de passe facebook et mon numero ✓ - Forum Facebook
2 réponses
Chris 94
Messages postés
50787
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 570
14 oct. 2017 à 16:18
14 oct. 2017 à 16:18
Bonjour,
Un modeste rappel sur la manière :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
Un modeste rappel sur la manière :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
14 oct. 2017 à 17:55
14 oct. 2017 à 17:55
Bonjour,
Dynamic binding sur Wikipedia.
C'est notamment lié à la redéfinition de méthodes.
L'idée est de dire que c'est l'objet qui porte ses méthodes et non le type défini dans le code.
Donc si j'ai une variable définie
Si l'objet est instancié comme étant de la classe Animal c'est les méthodes de la classe Animal que l'on va appeler, pas celle de Article.
Exemple :
Dynamic binding sur Wikipedia.
C'est notamment lié à la redéfinition de méthodes.
L'idée est de dire que c'est l'objet qui porte ses méthodes et non le type défini dans le code.
Donc si j'ai une variable définie
Article article;ça ne suffit pas pour dire que l'on va appeler les méthodes de la classe Article.
Si l'objet est instancié comme étant de la classe Animal c'est les méthodes de la classe Animal que l'on va appeler, pas celle de Article.
Exemple :
public class Article {
boolean isAnimal() {
return false;
}
boolean isNourriture() {
return false;
}
}
public class Animal extends Article {
@Override
boolean isAnimal() {
return true;
}
}
public class Nourriture extends Article {
@Override
boolean isNourriture() {
return true;
}
}
public class Test {
public static void main(String[] args) {
Article article1 = new Article();
System.out.println(article1.isAnimal()); // false
System.out.println(article1.isNourriture()); // false
Article article2 = new Animal();
System.out.println(article2.isAnimal()); // true
System.out.println(article2.isNourriture()); // false
Article article3 = new Nourriture();
System.out.println(article3.isAnimal()); // false
System.out.println(article3.isNourriture()); // true
}
}