我明白动态绑定的实现是如何工作的,还有静态绑定和动态绑定之间的区别,我只是无法围绕动态绑定的定义进行包装。基本上除了它是一个运行时绑定类型。了解动态绑定
Q
了解动态绑定
3
A
回答
3
基本上,动态绑定意味着函数调用的地址在被转换为汇编语言时并不会硬编码到程序的代码段中,而是从别处获取,即堆栈变量,数组查找等。
在一个较高的水平,如果你有一行代码:
foo(bar) //Calls a funciton
如果它可以在编译时确切地知道什么功能,这将调用,这是静态绑定。如果foo可能意味着多个函数,这取决于编译时不可知的事情,这是动态绑定。
1
我明白它在多态性中是明显的。通常在创建派生自基类的多个类时。如果每个派生类都包含每个使用的函数。基类可以用来执行派生类的函数,它将正确地调用正确的函数。
例如:
class Animal
{
void talk();
}
class Dog extends Animal
{
public void talk() { System.out.println("woof"); }
}
class Cat extends Animal
{
public void talk() { System.out.println("meow"); }
}
....
Animal zoo[2];
zoo[0] = new Dog();
zoo[1] = new Cat();
for(Animal animalToggle: zoo)
{
animalToggle.talk();
}
会打印: 纬 喵
我解释希望它帮助。
相关问题
- 1. 了解库绑定
- 2. 了解WPF绑定CommandParameter =“{绑定}”
- 3. 了解TCP动态
- 4. 了解绑定在组件
- 5. WPF动态绑定
- 6. 动态绑定MenuItems
- 7. 动态绑定WPF
- 8. 动态绑定RadGrid
- 9. C++动态绑定
- 10. 静态和动态绑定
- 11. 绑定/解除绑定滚动
- 12. 延迟绑定vs动态绑定
- 13. c + +动态绑定和java动态绑定有什么区别?
- 14. 了解Django Q - 动态
- 15. 了解C++动态分配
- 16. 解释动态绑定和静态方法
- 17. 了解MQ系列绑定文件
- 18. 了解在javascript中的绑定
- 19. 了解绑定DataGridComboBoxColumn Itemssource和SelectedItem
- 20. 了解WPF数据绑定范围
- 21. 了解Haskell中的绑定函数
- 22. 了解Kivy特性和绑定方法
- 23. 了解Clojure的绑定语法
- 24. Vue.js禁用动态绑定?
- 25. C++中的动态绑定
- 26. 动态文本框绑定
- 27. 设置的动态绑定?
- 28. Jersey 2.x动态绑定
- 29. Jquery - 动态DIV onclick绑定
- 30. 绑定动态对象wpf
你说的是动态绑定而不是动态链接? – 2008-11-02 23:25:03