我在“Polymorphism”一章的“Thinking in java”中读到了“后期绑定”的概念,我只是想知道我对这个概念的理解是否正确
例如,过程语言知道在运行时之前要执行的函数在哪里
if(condition){func1();}else{func2();}
所以每个可能的函数的地址在程序运行之前是准确地知道的,所以它很容易编译,但是在 OOLs 中检查这个代码,,
makeItSpeak(Animal a ){
a.speak();
}
虽然 a 可能是 dog 、 cat 或任何其他 Animal 类型,并且因为我们在运行时初始化对象,所以我们必须在运行时传递我们运行 speak 的参数,所以这是在运行时发生的后期绑定-时间 ....
真的吗 ??