Je suis actuellement en train de faire un devoir pour l'un de mes cours, et dedans, je dois donner des exemples, en utilisant la syntaxe Java, de liaison statique et de liaison dynamique.
Je comprends le concept de base, selon lequel la liaison statique se produit au moment de la compilation et la liaison dynamique se produit à l'exécution, mais je n'arrive pas vraiment à comprendre comment elles fonctionnent spécifiquement.
J'ai trouvé un exemple de liaison statique en ligne qui donne cet exemple :
public static void callEat(Animal animal) {
System.out.println("L'animal mange");
}
public static void callEat(Dog dog) {
System.out.println("Le chien mange");
}
public static void main(String args[])
{
Animal a = new Dog();
callEat(a);
}
Et que cela afficherait "l'animal mange" parce que l'appel à callEat
utilise une liaison statique, mais je suis incertain quant à pourquoi cela est considéré comme une liaison statique.
Jusqu'à présent, aucun des sources que j'ai consultées n'a réussi à m'expliquer de manière claire.