在不同的来源中,我已经阅读了有关该主题的不同内容.比如维基百科说:
后期绑定经常与动态调度混淆,但存在显着差异.
但后来几行
在Java编程中使用术语后期绑定作为动态调度的同义词很受欢迎.具体来说,这是指Java与虚拟方法一起使用的单一调度机制.
那么真相是什么?这个"重大差异"是什么?
关联名称太多:早期和晚期绑定,静态和动态调度,运行时与编译时多态等等,我不明白其中的区别.
我找到了明确的解释,但这是正确的吗?我会解释JustinC:
绑定:是确定变量的类型(对象?).如果它在编译时完成,它的早期绑定.如果它是在运行时完成的,那就是后期绑定.
Dispatch:确定哪个方法与方法调用匹配.Static Dispatch是编译时的计算方法,而动态调度是在运行时执行的.
绑定是否将原始值和引用变量分别与原始值和对象进行匹配?
编辑:请给我一些明确的参考资料,以便我可以阅读更多相关信息.
java late-binding dynamic-dispatch early-binding static-dispatch
Swift 是在编译时保留方法查找列表还是在特定内存位置调用函数?
此致。
关于这个:http : //davedelong.tumblr.com/post/58428190187/an-observation-on-objective-c