问题:关于前期绑定在内存中的活动
背景:1,在MSDN中有这样的文字:“当 Visual Basic 在编译时明确知道正在调用什么样的接口时,它将检查一下类型库,看看那个接口是否支持该方法。然后 Visual Basic 就可以用一张虚拟函数表 (vtable),按直接跳转到该方法进行编译。这样做比起后期绑定来要快许多倍。”
代码:
Public Sub GetFood(ByVal Critter As Animal,ByVal Food As meal) as boolean
Dim dblDistance As Double
'计算到食物所在处距离的代码(略)。
Critter.Move dblDistance '前期绑定 (vtable)。
Critter.Bite Food '前期绑定 (vtable)。
End Sub
'注:Animal和meal都是接口类
现象:无
问题:1,函数GetFood在被调用的过程内存中是如何对其分配的?
2, Critter和Food又是如何分配的?
3,在实际的调用中Critter和Food的实现类的实例----对象在内存的分配上与原来的接口关系是怎么样??
4,问题重点:接口与它的实现类在内存中的关系。
'注:问题对我来说很重要,因为我觉得这是组件和模式的基础和根基,请大家一定要帮帮我,而且请不知道的也关注一下。