Me 關(guān)鍵字代表著類(lèi)在代碼運(yùn)行時(shí)的當(dāng)前實(shí)例(instance),或者說(shuō),當(dāng)前對(duì)象(object)。
VBS 是一種很簡(jiǎn)單的腳本語(yǔ)言,正因?yàn)楹?jiǎn)單,所以?xún)H僅支持面向?qū)ο蟮暮苄∫徊糠痔匦浴?/P>
其他面向?qū)ο蟮木幊陶Z(yǔ)言通常使用 this 或者 self 關(guān)鍵字來(lái)訪問(wèn)當(dāng)前對(duì)象,而 VBS 使用的是 Me 關(guān)鍵字。Me 關(guān)鍵字代表著類(lèi)在代碼運(yùn)行時(shí)的當(dāng)前實(shí)例(instance),或者說(shuō),當(dāng)前對(duì)象(object)。
對(duì)象是類(lèi)的一個(gè)實(shí)例。同一個(gè)類(lèi)可以實(shí)例化很多個(gè)具有相同屬性和方法的對(duì)象,但是每個(gè)對(duì)象是唯一的,它們的成員變量并不一樣。這些成員變量通過(guò)對(duì)象引用來(lái)訪問(wèn)。在類(lèi)的外部,每個(gè)對(duì)象都由儲(chǔ)存著對(duì)象引用的變量來(lái)標(biāo)識(shí);在類(lèi)的內(nèi)部,這個(gè)變量無(wú)法被訪問(wèn),但是 VBScript 在內(nèi)部會(huì)跟蹤哪個(gè)對(duì)象正在執(zhí)行類(lèi)的屬性或者方法,并通過(guò) Me 關(guān)鍵字是這些信息可以獲得。
一個(gè)簡(jiǎn)單的類(lèi):
代碼如下:
Class myClass
Private i_count
Public Property Get count
count = i_count
End Property
Public Property Let count(c)
i_count = c
End Property
End Class
在這個(gè)例子中,聲明了一個(gè)私有變量,這個(gè)變量可以在類(lèi)的內(nèi)部引用。但是,有時(shí)候,當(dāng)我們?cè)L問(wèn)一個(gè)變量時(shí),我們希望一段代碼被執(zhí)行。
使用 Me 關(guān)鍵字:
代碼如下:
Class myClass
Private i_count
Public Property Get count
i_count = i_count + 1
count = i_count
End Property
'Demon注:
'其實(shí)這里純粹是為了使用Me而使用Me
'直接countTwice = count + count更簡(jiǎn)單
Public Property Get countTwice
countTwice = Me.count + Me.count
End Property
Public Property Let count(c)
i_count = c
End Property
End Class
在這個(gè)例子中,每次訪問(wèn) count 屬性時(shí)它都會(huì)被加上1。