Se passer de instanceof et getClass()
Résolu/Fermé
Miko
-
14 oct. 2017 à 16:14
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 14 oct. 2017 à 17:55
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 14 oct. 2017 à 17:55
A voir également:
- Se passer de instanceof et getClass()
- Passer de windows 7 à windows 10 - Guide
- Piratage facebook changer mot de passe - Guide
- Passer de qwerty a azerty - Guide
- Identifiant et mot de passe - Guide
- Passer de majuscule à minuscule - Guide
2 réponses
Chris 94
Messages postés
50978
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 325
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
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
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 } }