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