ASP中類Class相關(guān)內(nèi)容的整理資料
更新時(shí)間:2007年03月13日 00:00:00 作者:
Class 對(duì)象
使用 Class 語(yǔ)句創(chuàng)建的對(duì)象。提供了對(duì)類的各種事件的訪問(wèn)。
說(shuō)明
不允許顯式地將一個(gè)變量聲明為 Class 類型。在 VBScript 的上下文中,“類對(duì)象”一詞指的是用 VBScript Class 語(yǔ)句定義的任何對(duì)象。
在使用 Class 語(yǔ)句建立了類定義之后,可以用下面的形式創(chuàng)建類的一個(gè)實(shí)例:
Dim X
Set X = New classname
由于 VBScript 是一種后期約束型語(yǔ)言,下面的做法是不允許的:
Dim X as New classname
-或-
Dim X
X = New classname
-或-
Set X = New Scripting.FileSystemObject
Class 對(duì)象的事件
Class 對(duì)象提供對(duì)類的事件的訪問(wèn)。
Initialize 事件
在創(chuàng)建類的實(shí)例時(shí)發(fā)生此事件。
Private Sub Class_Initialize()
語(yǔ)句
End Sub
當(dāng)類初始化時(shí),statements部分由零個(gè)或多個(gè)將要運(yùn)行的代碼語(yǔ)句組成。
說(shuō)明
下面的例子演示了 Initialize 事件的用法。
Class TestClass
Private Sub Class_Initialize ' 設(shè)置 Initialize 事件。
MsgBox("TestClass started")
End Sub
Private Sub Class_Terminate ' 設(shè)置 Terminate 事件。
MsgBox("TestClass terminated")
End Sub
End Class
Set X = New TestClass ' 創(chuàng)建一個(gè) TestClass 實(shí)例。
Set X = Nothing ' 刪除實(shí)例。
Terminate 事件
在所關(guān)聯(lián)的類的實(shí)例終止時(shí)發(fā)生此事件。
Private Sub Class_Terminate()
語(yǔ)句
End Sub
當(dāng)類初始化時(shí),statements 部分由零個(gè)或多個(gè)將要運(yùn)行的代碼語(yǔ)句組成。
說(shuō)明
下面的例子演示了 Terminate 事件的用法。
Class TestClass
Private Sub Class_Initialize ' 設(shè)置 Initialize 事件。
MsgBox("TestClass started")
End Sub
Private Sub Class_Terminate ' 設(shè)置 Terminate 事件。
MsgBox("TestClass terminated")
End Sub
End Class
Set X = New TestClass ' 創(chuàng)建一個(gè) TestClass 實(shí)例。
Set X = Nothing ' 刪除實(shí)例。
Class 語(yǔ)句
聲明一個(gè)類的名稱,以及組成該類的變量、屬性和方法的定義。
Class name
statements
End Class
參數(shù)
name 必選項(xiàng)。Class 的名稱;遵照標(biāo)準(zhǔn)的變量命名規(guī)則。
statements 必選項(xiàng)。一個(gè)或多個(gè)語(yǔ)句,定義了 Class 的變量、屬性和方法。
說(shuō)明
在 Class 塊中,成員通過(guò)相應(yīng)的聲明語(yǔ)句被聲明為 Private 或 Public。被聲明為 Private 的將只在 Class 塊內(nèi)是可見(jiàn)的。被聲明為 Public 不僅在 Class 塊的內(nèi)部是可見(jiàn)的,對(duì) Class 塊之外的代碼也是可見(jiàn)的。沒(méi)有使用 Private 或 Public 明確聲明的被默認(rèn)為 Public。
在類的塊內(nèi)部被聲明為 Public 的過(guò)程(Sub 或 Function)將成為類的方法。Public 變量將成為類的屬性,同使用 Property Get、Property Let 和 Property Set 顯式聲明的屬性一樣。類的缺省屬性和方法是在它們的聲明部分用 Default 關(guān)鍵字指定的。關(guān)于如何使用該關(guān)鍵字,請(qǐng)參考單獨(dú)的聲明語(yǔ)句主題。
Property Get 語(yǔ)句
在 Class 塊中,聲明構(gòu)成用來(lái)取得(返回)屬性值的 Property 過(guò)程的主體的名稱、參數(shù)和代碼。
[Public [Default]| Private] Property Get name [(arglist)]
[statements]
[[Set] name = expression]
[Exit Property]
[statements]
[[Set] name = expression]
End Property
參數(shù)
Public 表明Property Get 過(guò)程可以被所有腳本中的其他過(guò)程訪問(wèn)。
Default 只與 Public 關(guān)鍵字一起使用,表明 Property Get 過(guò)程中定義的屬性為類的缺省屬性。
Private 表明 Property Get 過(guò)程只對(duì)定義它的 Class 塊中的其他過(guò)程是可以訪問(wèn)的。
name Property Get 過(guò)程的名稱;遵守標(biāo)準(zhǔn)的變量命名規(guī)則,區(qū)別僅僅在于它可以與同一Class塊中的Property Let 或 Property Set過(guò)程。
arglist 該變量列表代表了 Property Get 過(guò)程被調(diào)用時(shí)傳遞給它的參數(shù)。多個(gè)參數(shù)之間用逗號(hào)分隔開(kāi)。Property Get 過(guò)程中的每個(gè)參數(shù)的名稱必須與 Property Let 過(guò)程中的相應(yīng)參數(shù)相同(如果有的話)。
statements
任意的一組語(yǔ)句,將在 Property Get 過(guò)程的主體中執(zhí)行。
Set
在將對(duì)象作為 Property Get 過(guò)程的返回值時(shí)使用的關(guān)鍵字。
expression Property Get 過(guò)程的返回值。
說(shuō)明
如果未使用 Public 或 Private 明確聲明,則 Property Get 過(guò)程被缺省為公有的,即它們對(duì)于腳本中的其他所有過(guò)程都是可見(jiàn)的。Property Get過(guò)程中的局部變量的值在不同的過(guò)程調(diào)用之間是不保存的。
在其他任何過(guò)程(例如 Function 或 Property Let) 內(nèi)部都不能定義 Property Get 過(guò)程。
Exit Property 語(yǔ)句將導(dǎo)致立即從 Property Get 過(guò)程中退出。程序?qū)⒗^續(xù)執(zhí)行調(diào)用 Property Get 過(guò)程的語(yǔ)句之后的程序。Exit Property 語(yǔ)句可以出現(xiàn)在 Property Get 過(guò)程中的任何位置,次數(shù)不限。
與Sub 和 Property Let 過(guò)程類似,Property Get 過(guò)程是能夠接受參數(shù)的過(guò)程,可以執(zhí)行一系列的語(yǔ)句,以及改變參數(shù)的值。然而,與Sub 和 Property Let 不同的是,Property Get 過(guò)程可以被用于表達(dá)式的右側(cè),用與使用Function 或?qū)傩悦Q相同的方式來(lái)返回屬性的值。
要求
版本 5
Property Let 語(yǔ)句
在 Class 塊中,聲明名稱、參數(shù)和代碼等,它們構(gòu)成了設(shè)置屬性值的 Property 過(guò)程的主體。
[Public | Private] Property Let name (
[arglist,] value
)
[statement]
[Exit Property]
[statement]
End Property
參數(shù)
Public 表明 Property Let 過(guò)程可以被所有腳本中的其他所有過(guò)程訪問(wèn)。
Private 表明 Property Let 過(guò)程只能被定義之的 Class 塊內(nèi)的其他過(guò)程訪問(wèn)。
name Property Let 過(guò)程的名稱;遵守標(biāo)準(zhǔn)的變量命名規(guī)則,區(qū)別僅僅在于其名稱可以與相同 Class 塊中的 Property Get 或 Property Set 過(guò)程相同。
arglist 該變量列表代表了在調(diào)用時(shí)被傳遞到 Property Let 過(guò)程的參數(shù)。多個(gè)參數(shù)之間用逗號(hào)隔開(kāi)。Property Let 過(guò)程的每個(gè)參數(shù)的名字必須與 Property Get 過(guò)程中的相應(yīng)參數(shù)相同。此外, Property Let 過(guò)程的參數(shù)比相應(yīng)的 Property Get 過(guò)程總要多一個(gè)。該參數(shù)為被賦予屬性的值。
value 該變量中包含要賦予屬性的值。當(dāng)過(guò)程被調(diào)用時(shí),該參數(shù)將出現(xiàn)在調(diào)用表達(dá)式的右側(cè)。
statement 任意的一組語(yǔ)句,將在 Property Let 過(guò)程的主體內(nèi)執(zhí)行。
說(shuō)明
如果未明確地使用 Public 或 Private 進(jìn)行指定,Property Let 過(guò)程被缺省設(shè)置為公有的,即它們對(duì)于腳本內(nèi)的其他所有過(guò)程都是可見(jiàn)的。Property Let過(guò)程中的局部變量的值在不同的過(guò)程調(diào)用之間是不被保存的。
在其他任何過(guò)程(例如 Function 或 Property Get)的內(nèi)部不能夠定義 Property Let 過(guò)程。
Exit Property 語(yǔ)句將導(dǎo)致立即從 Property Let 過(guò)程中退出。程序?qū)恼{(diào)用 Property Let 過(guò)程的語(yǔ)句之后的點(diǎn)繼續(xù)執(zhí)行。Exit Property 語(yǔ)句可以出現(xiàn)在 Property Let 過(guò)程中的任何位置,次數(shù)不限。
注意 每個(gè) Property Let 語(yǔ)句必須為所定義的過(guò)程至少定義一個(gè)參數(shù)。該參數(shù)(在存在多個(gè)參數(shù)時(shí)的最后一個(gè)參數(shù))包含了當(dāng) Property Let 語(yǔ)句被調(diào)用時(shí)要賦予屬性的值。該參數(shù)在前面的語(yǔ)法中稱為value。
與 Function 和 Property Get 過(guò)程類似,Property Let 過(guò)程是一個(gè)單獨(dú)的過(guò)程,它可以接受參數(shù),執(zhí)行一系列的語(yǔ)句,還可以改變參數(shù)的值。不過(guò),與Function 和 Property Get 過(guò)程不同的是,它們兩者都返回一個(gè)值,而Property Let過(guò)程只能用于屬性賦值表達(dá)式的左側(cè)。
要求
版本 5
Property Set 語(yǔ)句
在 Class 塊中,聲明名稱、參數(shù)和代碼,這些構(gòu)成了將引用設(shè)置到對(duì)象的 Property 過(guò)程的主體。
[Public | Private] Property Set name(
[arglist,] reference
)
[statement]
[Exit Property]
[statement]
End Property
參數(shù)
Public
表明 Property Set 過(guò)程可以被所有腳本中的其他所有過(guò)程訪問(wèn)。
Private
表明 Property Set 過(guò)程只能被聲明之的同一 Class 塊中的其他過(guò)程訪問(wèn)。
name
Property Set 過(guò)程的名稱;遵守標(biāo)準(zhǔn)的變量命名規(guī)則,不過(guò)該名稱可以與同一個(gè) Class 塊中的 Property Get 或 Property Let 過(guò)程相同。
arglist
變量列表,代表在 Property Set 過(guò)程被調(diào)用時(shí)傳遞給它的參數(shù)。多個(gè)參數(shù)之間用逗號(hào)分隔開(kāi)。此外,Property Set 過(guò)程將總是比它相應(yīng)的 Property Get 過(guò)程多一個(gè)參數(shù)。這個(gè)多出來(lái)的參數(shù)是被賦予屬性的對(duì)象。
reference
變量,其中包含被用于對(duì)象引用賦值的右側(cè)的對(duì)象引用。
statement
將要在 Property Set 過(guò)程主體中執(zhí)行的任何一組語(yǔ)句。
說(shuō)明
除非使用 Public 或 Private 明確地進(jìn)行指定,否則 Property Set 過(guò)程被設(shè)置為缺省的公有模式,即腳本中的其他所有過(guò)程都是可見(jiàn)的。在不同的過(guò)程調(diào)用時(shí),Property Set 過(guò)程中的局部變量是不保存的。
在其他任何過(guò)程(例如Function或Property Let)中都不能夠定義Property Set過(guò)程。
Exit Property 語(yǔ)句將導(dǎo)致立即從 Property Set 過(guò)程中退出。程序?qū)⒗^續(xù)執(zhí)行調(diào)用 Property Set 過(guò)程之后的語(yǔ)句。Exit Property 語(yǔ)句的數(shù)量不受限制,可以出現(xiàn)在 Property Set 過(guò)程中的任何位置。
注意 每個(gè) Property Set 語(yǔ)句都必須為所定義的過(guò)程至少定義一個(gè)參數(shù)。當(dāng) Property Set 語(yǔ)句所定義的過(guò)程被調(diào)用時(shí),該參數(shù)(在多個(gè)參數(shù)時(shí)為最后一個(gè)參數(shù))將為屬性提供實(shí)際的對(duì)象引用。在前面的語(yǔ)法中,該參數(shù)稱為引用。
與 Function 和 Property Get 過(guò)程類似,Property Set 過(guò)程是一個(gè)單獨(dú)的過(guò)程,它可以有若干參數(shù),執(zhí)行一系列的語(yǔ)句,還可以改變參數(shù)的值。然而,與 Function 和 Property Get 過(guò)程不同的是,函數(shù)和過(guò)程都可以返回值,而 Property Set 過(guò)程對(duì)象引用賦值(Set 語(yǔ)句)的左側(cè)。
要求
版本 5
Public 語(yǔ)句
定義公有變量并分配存儲(chǔ)空間。在 Class 塊中定義私有變量。
Public varname[([subscripts])][, varname[([subscripts])]] . . .
參數(shù)
varname
變量的名稱,遵循標(biāo)準(zhǔn)變量命名規(guī)則。
subscripts
數(shù)組變量的維數(shù);最多可以聲明 60 維的數(shù)組。subscripts 參數(shù)使用下列語(yǔ)法:
upper [,upper] . . .
數(shù)組的下界總是 0。
說(shuō)明
Public 語(yǔ)句變量可用于全部腳本中的所有過(guò)程。
在使用引用對(duì)象的變量之前,必須用 Set 語(yǔ)句將某個(gè)已有對(duì)象賦予該變量。在賦值之前,所聲明的對(duì)象變量被初始化為 Empty。
也可用帶空?qǐng)A括號(hào)的 Public 語(yǔ)句來(lái)聲明動(dòng)態(tài)數(shù)組。聲明動(dòng)態(tài)數(shù)組后,可在過(guò)程內(nèi)使用 ReDim 語(yǔ)句來(lái)定義該數(shù)組的維數(shù)和元素。如果試圖重新聲明數(shù)組變量的維數(shù),且此數(shù)組變量的大小已在 Private、Public 或 Dim 語(yǔ)句中顯式地指定,則會(huì)發(fā)生錯(cuò)誤。
下面例子舉例說(shuō)明如何使用 Public 語(yǔ)句:
Public MyNumber ' 公用 Variant 變量。
Public MyArray(9) ' 公用數(shù)組變量。
' Variant 變量的多個(gè)公用聲明。
Public MyNumber, MyVar, YourNumber
Private 語(yǔ)句
定義私有變量并分配存儲(chǔ)空間。在 Class塊中定義私有變量。
Private varname[([subscripts])][, varname[([subscripts])]] . . .
參數(shù)
varname
變量的名稱;遵循標(biāo)準(zhǔn)變量命名規(guī)則。
subscripts
數(shù)組變量的維數(shù),最多可以聲明 60 維的數(shù)組。subscripts 參數(shù)使用下列語(yǔ)法:
upper [, upper] . . .
數(shù)組的下界總是 0。
說(shuō)明
Private 語(yǔ)句變量只能在聲明該變量的腳本中使用。
在使用引用對(duì)象的變量之前,必須用 Set 語(yǔ)句將某個(gè)現(xiàn)有對(duì)象賦予此變量。在賦值之前,所聲明的對(duì)象變量被初始化Empty。
也可用帶空?qǐng)A括號(hào)的 Private 語(yǔ)句聲明動(dòng)態(tài)數(shù)組。聲明動(dòng)態(tài)數(shù)組后,可在過(guò)程內(nèi)使用 ReDim 語(yǔ)句定義該數(shù)組的維數(shù)和元素。如果在 Private、Public 或 Dim 語(yǔ)句中已顯式指定數(shù)組大小,卻試圖重新聲明數(shù)組維數(shù),就會(huì)發(fā)生錯(cuò)誤。
注意 在過(guò)程中使用 Private 語(yǔ)句時(shí),通常將 Private 語(yǔ)句放在過(guò)程的開(kāi)始處。
下面例子舉例說(shuō)明如何使用 Private 語(yǔ)句:
Private MyNumber ' 私有 Variant 變量。
Private MyArray(9) ' 私有數(shù)組變量。
' Variant 變量的多個(gè)私有聲明。
Private MyNumber, MyVar, YourNumber
使用 Class 語(yǔ)句創(chuàng)建的對(duì)象。提供了對(duì)類的各種事件的訪問(wèn)。
說(shuō)明
不允許顯式地將一個(gè)變量聲明為 Class 類型。在 VBScript 的上下文中,“類對(duì)象”一詞指的是用 VBScript Class 語(yǔ)句定義的任何對(duì)象。
在使用 Class 語(yǔ)句建立了類定義之后,可以用下面的形式創(chuàng)建類的一個(gè)實(shí)例:
Dim X
Set X = New classname
由于 VBScript 是一種后期約束型語(yǔ)言,下面的做法是不允許的:
Dim X as New classname
-或-
Dim X
X = New classname
-或-
Set X = New Scripting.FileSystemObject
Class 對(duì)象的事件
Class 對(duì)象提供對(duì)類的事件的訪問(wèn)。
Initialize 事件
在創(chuàng)建類的實(shí)例時(shí)發(fā)生此事件。
Private Sub Class_Initialize()
語(yǔ)句
End Sub
當(dāng)類初始化時(shí),statements部分由零個(gè)或多個(gè)將要運(yùn)行的代碼語(yǔ)句組成。
說(shuō)明
下面的例子演示了 Initialize 事件的用法。
Class TestClass
Private Sub Class_Initialize ' 設(shè)置 Initialize 事件。
MsgBox("TestClass started")
End Sub
Private Sub Class_Terminate ' 設(shè)置 Terminate 事件。
MsgBox("TestClass terminated")
End Sub
End Class
Set X = New TestClass ' 創(chuàng)建一個(gè) TestClass 實(shí)例。
Set X = Nothing ' 刪除實(shí)例。
Terminate 事件
在所關(guān)聯(lián)的類的實(shí)例終止時(shí)發(fā)生此事件。
Private Sub Class_Terminate()
語(yǔ)句
End Sub
當(dāng)類初始化時(shí),statements 部分由零個(gè)或多個(gè)將要運(yùn)行的代碼語(yǔ)句組成。
說(shuō)明
下面的例子演示了 Terminate 事件的用法。
Class TestClass
Private Sub Class_Initialize ' 設(shè)置 Initialize 事件。
MsgBox("TestClass started")
End Sub
Private Sub Class_Terminate ' 設(shè)置 Terminate 事件。
MsgBox("TestClass terminated")
End Sub
End Class
Set X = New TestClass ' 創(chuàng)建一個(gè) TestClass 實(shí)例。
Set X = Nothing ' 刪除實(shí)例。
Class 語(yǔ)句
聲明一個(gè)類的名稱,以及組成該類的變量、屬性和方法的定義。
Class name
statements
End Class
參數(shù)
name 必選項(xiàng)。Class 的名稱;遵照標(biāo)準(zhǔn)的變量命名規(guī)則。
statements 必選項(xiàng)。一個(gè)或多個(gè)語(yǔ)句,定義了 Class 的變量、屬性和方法。
說(shuō)明
在 Class 塊中,成員通過(guò)相應(yīng)的聲明語(yǔ)句被聲明為 Private 或 Public。被聲明為 Private 的將只在 Class 塊內(nèi)是可見(jiàn)的。被聲明為 Public 不僅在 Class 塊的內(nèi)部是可見(jiàn)的,對(duì) Class 塊之外的代碼也是可見(jiàn)的。沒(méi)有使用 Private 或 Public 明確聲明的被默認(rèn)為 Public。
在類的塊內(nèi)部被聲明為 Public 的過(guò)程(Sub 或 Function)將成為類的方法。Public 變量將成為類的屬性,同使用 Property Get、Property Let 和 Property Set 顯式聲明的屬性一樣。類的缺省屬性和方法是在它們的聲明部分用 Default 關(guān)鍵字指定的。關(guān)于如何使用該關(guān)鍵字,請(qǐng)參考單獨(dú)的聲明語(yǔ)句主題。
Property Get 語(yǔ)句
在 Class 塊中,聲明構(gòu)成用來(lái)取得(返回)屬性值的 Property 過(guò)程的主體的名稱、參數(shù)和代碼。
[Public [Default]| Private] Property Get name [(arglist)]
[statements]
[[Set] name = expression]
[Exit Property]
[statements]
[[Set] name = expression]
End Property
參數(shù)
Public 表明Property Get 過(guò)程可以被所有腳本中的其他過(guò)程訪問(wèn)。
Default 只與 Public 關(guān)鍵字一起使用,表明 Property Get 過(guò)程中定義的屬性為類的缺省屬性。
Private 表明 Property Get 過(guò)程只對(duì)定義它的 Class 塊中的其他過(guò)程是可以訪問(wèn)的。
name Property Get 過(guò)程的名稱;遵守標(biāo)準(zhǔn)的變量命名規(guī)則,區(qū)別僅僅在于它可以與同一Class塊中的Property Let 或 Property Set過(guò)程。
arglist 該變量列表代表了 Property Get 過(guò)程被調(diào)用時(shí)傳遞給它的參數(shù)。多個(gè)參數(shù)之間用逗號(hào)分隔開(kāi)。Property Get 過(guò)程中的每個(gè)參數(shù)的名稱必須與 Property Let 過(guò)程中的相應(yīng)參數(shù)相同(如果有的話)。
statements
任意的一組語(yǔ)句,將在 Property Get 過(guò)程的主體中執(zhí)行。
Set
在將對(duì)象作為 Property Get 過(guò)程的返回值時(shí)使用的關(guān)鍵字。
expression Property Get 過(guò)程的返回值。
說(shuō)明
如果未使用 Public 或 Private 明確聲明,則 Property Get 過(guò)程被缺省為公有的,即它們對(duì)于腳本中的其他所有過(guò)程都是可見(jiàn)的。Property Get過(guò)程中的局部變量的值在不同的過(guò)程調(diào)用之間是不保存的。
在其他任何過(guò)程(例如 Function 或 Property Let) 內(nèi)部都不能定義 Property Get 過(guò)程。
Exit Property 語(yǔ)句將導(dǎo)致立即從 Property Get 過(guò)程中退出。程序?qū)⒗^續(xù)執(zhí)行調(diào)用 Property Get 過(guò)程的語(yǔ)句之后的程序。Exit Property 語(yǔ)句可以出現(xiàn)在 Property Get 過(guò)程中的任何位置,次數(shù)不限。
與Sub 和 Property Let 過(guò)程類似,Property Get 過(guò)程是能夠接受參數(shù)的過(guò)程,可以執(zhí)行一系列的語(yǔ)句,以及改變參數(shù)的值。然而,與Sub 和 Property Let 不同的是,Property Get 過(guò)程可以被用于表達(dá)式的右側(cè),用與使用Function 或?qū)傩悦Q相同的方式來(lái)返回屬性的值。
要求
版本 5
Property Let 語(yǔ)句
在 Class 塊中,聲明名稱、參數(shù)和代碼等,它們構(gòu)成了設(shè)置屬性值的 Property 過(guò)程的主體。
[Public | Private] Property Let name (
[arglist,] value
)
[statement]
[Exit Property]
[statement]
End Property
參數(shù)
Public 表明 Property Let 過(guò)程可以被所有腳本中的其他所有過(guò)程訪問(wèn)。
Private 表明 Property Let 過(guò)程只能被定義之的 Class 塊內(nèi)的其他過(guò)程訪問(wèn)。
name Property Let 過(guò)程的名稱;遵守標(biāo)準(zhǔn)的變量命名規(guī)則,區(qū)別僅僅在于其名稱可以與相同 Class 塊中的 Property Get 或 Property Set 過(guò)程相同。
arglist 該變量列表代表了在調(diào)用時(shí)被傳遞到 Property Let 過(guò)程的參數(shù)。多個(gè)參數(shù)之間用逗號(hào)隔開(kāi)。Property Let 過(guò)程的每個(gè)參數(shù)的名字必須與 Property Get 過(guò)程中的相應(yīng)參數(shù)相同。此外, Property Let 過(guò)程的參數(shù)比相應(yīng)的 Property Get 過(guò)程總要多一個(gè)。該參數(shù)為被賦予屬性的值。
value 該變量中包含要賦予屬性的值。當(dāng)過(guò)程被調(diào)用時(shí),該參數(shù)將出現(xiàn)在調(diào)用表達(dá)式的右側(cè)。
statement 任意的一組語(yǔ)句,將在 Property Let 過(guò)程的主體內(nèi)執(zhí)行。
說(shuō)明
如果未明確地使用 Public 或 Private 進(jìn)行指定,Property Let 過(guò)程被缺省設(shè)置為公有的,即它們對(duì)于腳本內(nèi)的其他所有過(guò)程都是可見(jiàn)的。Property Let過(guò)程中的局部變量的值在不同的過(guò)程調(diào)用之間是不被保存的。
在其他任何過(guò)程(例如 Function 或 Property Get)的內(nèi)部不能夠定義 Property Let 過(guò)程。
Exit Property 語(yǔ)句將導(dǎo)致立即從 Property Let 過(guò)程中退出。程序?qū)恼{(diào)用 Property Let 過(guò)程的語(yǔ)句之后的點(diǎn)繼續(xù)執(zhí)行。Exit Property 語(yǔ)句可以出現(xiàn)在 Property Let 過(guò)程中的任何位置,次數(shù)不限。
注意 每個(gè) Property Let 語(yǔ)句必須為所定義的過(guò)程至少定義一個(gè)參數(shù)。該參數(shù)(在存在多個(gè)參數(shù)時(shí)的最后一個(gè)參數(shù))包含了當(dāng) Property Let 語(yǔ)句被調(diào)用時(shí)要賦予屬性的值。該參數(shù)在前面的語(yǔ)法中稱為value。
與 Function 和 Property Get 過(guò)程類似,Property Let 過(guò)程是一個(gè)單獨(dú)的過(guò)程,它可以接受參數(shù),執(zhí)行一系列的語(yǔ)句,還可以改變參數(shù)的值。不過(guò),與Function 和 Property Get 過(guò)程不同的是,它們兩者都返回一個(gè)值,而Property Let過(guò)程只能用于屬性賦值表達(dá)式的左側(cè)。
要求
版本 5
Property Set 語(yǔ)句
在 Class 塊中,聲明名稱、參數(shù)和代碼,這些構(gòu)成了將引用設(shè)置到對(duì)象的 Property 過(guò)程的主體。
[Public | Private] Property Set name(
[arglist,] reference
)
[statement]
[Exit Property]
[statement]
End Property
參數(shù)
Public
表明 Property Set 過(guò)程可以被所有腳本中的其他所有過(guò)程訪問(wèn)。
Private
表明 Property Set 過(guò)程只能被聲明之的同一 Class 塊中的其他過(guò)程訪問(wèn)。
name
Property Set 過(guò)程的名稱;遵守標(biāo)準(zhǔn)的變量命名規(guī)則,不過(guò)該名稱可以與同一個(gè) Class 塊中的 Property Get 或 Property Let 過(guò)程相同。
arglist
變量列表,代表在 Property Set 過(guò)程被調(diào)用時(shí)傳遞給它的參數(shù)。多個(gè)參數(shù)之間用逗號(hào)分隔開(kāi)。此外,Property Set 過(guò)程將總是比它相應(yīng)的 Property Get 過(guò)程多一個(gè)參數(shù)。這個(gè)多出來(lái)的參數(shù)是被賦予屬性的對(duì)象。
reference
變量,其中包含被用于對(duì)象引用賦值的右側(cè)的對(duì)象引用。
statement
將要在 Property Set 過(guò)程主體中執(zhí)行的任何一組語(yǔ)句。
說(shuō)明
除非使用 Public 或 Private 明確地進(jìn)行指定,否則 Property Set 過(guò)程被設(shè)置為缺省的公有模式,即腳本中的其他所有過(guò)程都是可見(jiàn)的。在不同的過(guò)程調(diào)用時(shí),Property Set 過(guò)程中的局部變量是不保存的。
在其他任何過(guò)程(例如Function或Property Let)中都不能夠定義Property Set過(guò)程。
Exit Property 語(yǔ)句將導(dǎo)致立即從 Property Set 過(guò)程中退出。程序?qū)⒗^續(xù)執(zhí)行調(diào)用 Property Set 過(guò)程之后的語(yǔ)句。Exit Property 語(yǔ)句的數(shù)量不受限制,可以出現(xiàn)在 Property Set 過(guò)程中的任何位置。
注意 每個(gè) Property Set 語(yǔ)句都必須為所定義的過(guò)程至少定義一個(gè)參數(shù)。當(dāng) Property Set 語(yǔ)句所定義的過(guò)程被調(diào)用時(shí),該參數(shù)(在多個(gè)參數(shù)時(shí)為最后一個(gè)參數(shù))將為屬性提供實(shí)際的對(duì)象引用。在前面的語(yǔ)法中,該參數(shù)稱為引用。
與 Function 和 Property Get 過(guò)程類似,Property Set 過(guò)程是一個(gè)單獨(dú)的過(guò)程,它可以有若干參數(shù),執(zhí)行一系列的語(yǔ)句,還可以改變參數(shù)的值。然而,與 Function 和 Property Get 過(guò)程不同的是,函數(shù)和過(guò)程都可以返回值,而 Property Set 過(guò)程對(duì)象引用賦值(Set 語(yǔ)句)的左側(cè)。
要求
版本 5
Public 語(yǔ)句
定義公有變量并分配存儲(chǔ)空間。在 Class 塊中定義私有變量。
Public varname[([subscripts])][, varname[([subscripts])]] . . .
參數(shù)
varname
變量的名稱,遵循標(biāo)準(zhǔn)變量命名規(guī)則。
subscripts
數(shù)組變量的維數(shù);最多可以聲明 60 維的數(shù)組。subscripts 參數(shù)使用下列語(yǔ)法:
upper [,upper] . . .
數(shù)組的下界總是 0。
說(shuō)明
Public 語(yǔ)句變量可用于全部腳本中的所有過(guò)程。
在使用引用對(duì)象的變量之前,必須用 Set 語(yǔ)句將某個(gè)已有對(duì)象賦予該變量。在賦值之前,所聲明的對(duì)象變量被初始化為 Empty。
也可用帶空?qǐng)A括號(hào)的 Public 語(yǔ)句來(lái)聲明動(dòng)態(tài)數(shù)組。聲明動(dòng)態(tài)數(shù)組后,可在過(guò)程內(nèi)使用 ReDim 語(yǔ)句來(lái)定義該數(shù)組的維數(shù)和元素。如果試圖重新聲明數(shù)組變量的維數(shù),且此數(shù)組變量的大小已在 Private、Public 或 Dim 語(yǔ)句中顯式地指定,則會(huì)發(fā)生錯(cuò)誤。
下面例子舉例說(shuō)明如何使用 Public 語(yǔ)句:
Public MyNumber ' 公用 Variant 變量。
Public MyArray(9) ' 公用數(shù)組變量。
' Variant 變量的多個(gè)公用聲明。
Public MyNumber, MyVar, YourNumber
Private 語(yǔ)句
定義私有變量并分配存儲(chǔ)空間。在 Class塊中定義私有變量。
Private varname[([subscripts])][, varname[([subscripts])]] . . .
參數(shù)
varname
變量的名稱;遵循標(biāo)準(zhǔn)變量命名規(guī)則。
subscripts
數(shù)組變量的維數(shù),最多可以聲明 60 維的數(shù)組。subscripts 參數(shù)使用下列語(yǔ)法:
upper [, upper] . . .
數(shù)組的下界總是 0。
說(shuō)明
Private 語(yǔ)句變量只能在聲明該變量的腳本中使用。
在使用引用對(duì)象的變量之前,必須用 Set 語(yǔ)句將某個(gè)現(xiàn)有對(duì)象賦予此變量。在賦值之前,所聲明的對(duì)象變量被初始化Empty。
也可用帶空?qǐng)A括號(hào)的 Private 語(yǔ)句聲明動(dòng)態(tài)數(shù)組。聲明動(dòng)態(tài)數(shù)組后,可在過(guò)程內(nèi)使用 ReDim 語(yǔ)句定義該數(shù)組的維數(shù)和元素。如果在 Private、Public 或 Dim 語(yǔ)句中已顯式指定數(shù)組大小,卻試圖重新聲明數(shù)組維數(shù),就會(huì)發(fā)生錯(cuò)誤。
注意 在過(guò)程中使用 Private 語(yǔ)句時(shí),通常將 Private 語(yǔ)句放在過(guò)程的開(kāi)始處。
下面例子舉例說(shuō)明如何使用 Private 語(yǔ)句:
Private MyNumber ' 私有 Variant 變量。
Private MyArray(9) ' 私有數(shù)組變量。
' Variant 變量的多個(gè)私有聲明。
Private MyNumber, MyVar, YourNumber
相關(guān)文章
實(shí)現(xiàn)支持邏輯搜索/單詞搜索/詞組搜索+支持OR/AND關(guān)鍵字的VBS CLASS!
實(shí)現(xiàn)支持邏輯搜索/單詞搜索/詞組搜索+支持OR/AND關(guān)鍵字的VBS CLASS!...2006-08-08ASP實(shí)現(xiàn)緩存類無(wú)錯(cuò)版
ASP實(shí)現(xiàn)緩存類無(wú)錯(cuò)版...2007-08-08