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

2011年计算机等考二级VB辅导知识技巧总结(15) #
2 #
3Public Sub Update() #
4 MsgBox "Class2 Updated" #
5End Sub
#
在使用的时候,可以使用以下方法,而实现一些设计模式: #
1Dim objTest As Variant
2 #
3Dim objC1 As New Class1
#
4Set objTest = objC1
5objTest.Update
6 #
7Dim objC2 As New Class2
8Set objTest = objC2
#
9objC2.Test #
10
这样,无须继承机制,也可以得到抽象接口的优势,而使接口、实现分离。 #
第二,在调用外部的COM自动化组件时,如Office,如果通过这种方式调用,对于不同版本的Office,如果你调用的方法、属性都是存在的,那么可以适应不同版本的Office,但如果通过前期绑定,在项目引用中确定对象类型,是有版本兼容问题的。
3. 效率和劣势 #
其实最主要的劣势是效率问题,《Advanced Visual Basic 6》一书说,使用Variant变量和Long变量进行循环,效率差别是1.5倍,而没有别人认为的那么大,而且对于大对象,差别也不是很大。对于本文前边的例子,如果创建的是进程内对象,前期绑定和后期绑定调用效率差别大概2:3左右,也就是说也是1.5倍。对于调用Office这样的外部COM自动化对象,也许差别大一些,没有专门测试,不过对于Office自动化,速度主要是决定于Office本身的启动、初始化。 #
另外一个劣势是没有了IDE下的属性、方法成员自动列出。
#
所以,个人认为,在使用VB6的时候,为了得到好的设计,有时不妨使用一些VB6的后期绑定的特性,来提高设计质量。 #