2
3Public Sub Update()
4 MsgBox "Class2 Updated"
5End Sub
在使用的時(shí)候,可以使用以下方法,而實(shí)現(xiàn)一些設(shè)計(jì)模式:
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
這樣,無(wú)須繼承機(jī)制,也可以得到抽象接口的優(yōu)勢(shì),而使接口、實(shí)現(xiàn)分離。
第二,在調(diào)用外部的COM自動(dòng)化組件時(shí),如Office,如果通過(guò)這種方式調(diào)用,對(duì)于不同版本的Office,如果你調(diào)用的方法、屬性都是存在的,那么可以適應(yīng)不同版本的Office,但如果通過(guò)前期綁定,在項(xiàng)目引用中確定對(duì)象類(lèi)型,是有版本兼容問(wèn)題的。
3. 效率和劣勢(shì)
其實(shí)最主要的劣勢(shì)是效率問(wèn)題,《Advanced Visual Basic 6》一書(shū)說(shuō),使用Variant變量和Long變量進(jìn)行循環(huán),效率差別是1.5倍,而沒(méi)有別人認(rèn)為的那么大,而且對(duì)于大對(duì)象,差別也不是很大。對(duì)于本文前邊的例子,如果創(chuàng)建的是進(jìn)程內(nèi)對(duì)象,前期綁定和后期綁定調(diào)用效率差別大概2:3左右,也就是說(shuō)也是1.5倍。對(duì)于調(diào)用Office這樣的外部COM自動(dòng)化對(duì)象,也許差別大一些,沒(méi)有專門(mén)測(cè)試,不過(guò)對(duì)于Office自動(dòng)化,速度主要是決定于Office本身的啟動(dòng)、初始化。
另外一個(gè)劣勢(shì)是沒(méi)有了IDE下的屬性、方法成員自動(dòng)列出。
所以,個(gè)人認(rèn)為,在使用VB6的時(shí)候,為了得到好的設(shè)計(jì),有時(shí)不妨使用一些VB6的后期綁定的特性,來(lái)提高設(shè)計(jì)質(zhì)量。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間匯總
2011計(jì)算機(jī)等級(jí)考試二級(jí)VB考點(diǎn)及習(xí)題匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |