Me 關(guān)鍵字代表著類在代碼運(yùn)行時(shí)的當(dāng)前實(shí)例(instance),或者說,當(dāng)前對象(object)。
VBS 是一種很簡單的腳本語言,正因?yàn)楹唵危詢H僅支持面向?qū)ο蟮暮苄∫徊糠痔匦浴?/P>
其他面向?qū)ο蟮木幊陶Z言通常使用 this 或者 self 關(guān)鍵字來訪問當(dāng)前對象,而 VBS 使用的是 Me 關(guān)鍵字。Me 關(guān)鍵字代表著類在代碼運(yùn)行時(shí)的當(dāng)前實(shí)例(instance),或者說,當(dāng)前對象(object)。
對象是類的一個(gè)實(shí)例。同一個(gè)類可以實(shí)例化很多個(gè)具有相同屬性和方法的對象,但是每個(gè)對象是唯一的,它們的成員變量并不一樣。這些成員變量通過對象引用來訪問。在類的外部,每個(gè)對象都由儲存著對象引用的變量來標(biāo)識;在類的內(nèi)部,這個(gè)變量無法被訪問,但是 VBScript 在內(nèi)部會跟蹤哪個(gè)對象正在執(zhí)行類的屬性或者方法,并通過 Me 關(guān)鍵字是這些信息可以獲得。
一個(gè)簡單的類:
代碼如下:
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è)變量可以在類的內(nèi)部引用。但是,有時(shí)候,當(dāng)我們訪問一個(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更簡單
Public Property Get countTwice
countTwice = Me.count + Me.count
End Property
Public Property Let count(c)
i_count = c
End Property
End Class
在這個(gè)例子中,每次訪問 count 屬性時(shí)它都會被加上1。