考试辅导

名师推荐

试听名师的课 查看所有名师

2011年计算机等考二级VB辅导知识技巧总结(14) 发布时间:2011-07-17 10:38 来源:互联网

2011年计算机等考二级VB辅导知识技巧总结(5)

 VB6的后期绑定和前期绑定

1. 什么是后期绑定和前期绑定后期绑定

MSDN 6的定义如下:

后期绑定:若将一个变量声明为 As Object 或 As Variant(包括 As Form 或 As Control 的变量),Visual Basic 在编译时就无法确定该变量将引用哪种类型的对象。因此,Visual Basic 必须使用后期绑定,在运行时确定对象的属性和方法能否使用该变量。

若使用后期绑定,则每次调用属性或方法时,Visual Basic 都要将成员名传给该对象 IDispatch 接口的 GetIDsOfNames 方法。GetIDsOfNames 返回该成员的派遣 ID,或 DispID。Visual Basic 再将该 DispID 传给 IDispatch 接口的 Invoke 方法来调用该成员。

对进程外部件而言,这意味着一次额外的跨进程方法调用,结果是调用开销翻番。

前期绑定:如果在编译时 Visual Basic 能够知道属性或方法所属的对象,就可以预先查找该成员在类型库中的 DispID 或 vtable 地址。这样就无须在运行时调用 GetIDsOfNames。

当显式声明了变量的类时,例如 As Widget,该变量就只能存放该类的对象的引用。Visual Basic 就可以为该变量调用的所有属性和方法使用前期绑定。

建议在 Visual Basic 和应用程序中使用这种方法来声明对象变量。

使用前期绑定还是后期绑定完全取决于声明变量的方式。对象的创建方式对此没有任何影响。

2. 后期绑定的几个优势和好处

第一,个人认为,由于VB6不支持实现继承,对于某些设计,可以使用将对象定义为Variant变量,而获取某些设计和编码上的便利,而得到接口或抽象类的好处。例如:

如定义2个类:

Class1:

1Option Explicit

2

3Public Sub Update()

4 MsgBox "Class1 Updated"

5End Sub

Class2:

1Option Explicit

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《2011年计算机等考二级VB辅导知识技巧总结(14)》相关信息。

编辑推荐

计算机等级考试辅导:SQL中JOB的运行状态

计算机等级考试辅导:SQLSERVER2005的引用

三级:把数据导入不同的表空间

2009年三级信息管理技术辅导:战略数据规划

教你三种方法卸载Windows7SP1Beta