說到ASP相信ASP程序員是很清楚的,其實ASP不是一種編程語言,其實在asp的編程語言是vbscript時的類,下面請跟隨錯新技術頻道小編一起來了解ASP中類Class相關內容的整理資料吧!
Class?對象
使用?Class?語句創建的對象。提供了對類的各種事件的訪問。
說明
不允許顯式地將一個變量聲明為?Class?類型。在?VBScript?的上下文中,“類對象”一詞指的是用?VBScript?Class?語句定義的任何對象。
在使用?Class?語句建立了類定義之后,可以用下面的形式創建類的一個實例:
Dim?X
Set?X?=?New?classname
由于?VBScript?是一種后期約束型語言,下面的做法是不允許的:
Dim?X?as?New?classname
-或-?
Dim?X
X?=?New?classname
-或-?
Set?X?=?New?Scripting.FileSystemObject
Class?對象的事件
Class?對象提供對類的事件的訪問。
Initialize?事件
在創建類的實例時發生此事件。
Private?Sub?Class_Initialize()
?語句
End?Sub
當類初始化時,statements部分由零個或多個將要運行的代碼語句組成。
說明
下面的例子演示了?Initialize?事件的用法。
Class?TestClass
?Private?Sub?Class_Initialize?'?設置?Initialize?事件。
?MsgBox("TestClass?started")
?End?Sub
?Private?Sub?Class_Terminate?'?設置?Terminate?事件。
?MsgBox("TestClass?terminated")
?End?Sub
End?Class
Set?X?=?New?TestClass?'?創建一個?TestClass?實例。
Set?X?=?Nothing?'?刪除實例。
Terminate?事件
在所關聯的類的實例終止時發生此事件。
Private?Sub?Class_Terminate()
?語句
End?Sub
當類初始化時,statements?部分由零個或多個將要運行的代碼語句組成。
說明
下面的例子演示了?Terminate?事件的用法。
Class?TestClass
?Private?Sub?Class_Initialize?'?設置?Initialize?事件。
?MsgBox("TestClass?started")
?End?Sub
?Private?Sub?Class_Terminate?'?設置?Terminate?事件。
?MsgBox("TestClass?terminated")
?End?Sub
End?Class
Set?X?=?New?TestClass?'?創建一個?TestClass?實例。
Set?X?=?Nothing?'?刪除實例。
Class?語句
聲明一個類的名稱,以及組成該類的變量、屬性和方法的定義。
Class?name
?statements
End?Class?
參數
name? 必選項。Class?的名稱;遵照標準的變量命名規則。?
statements? 必選項。一個或多個語句,定義了?Class?的變量、屬性和方法。?
說明
在?Class?塊中,成員通過相應的聲明語句被聲明為?Private?或?Public。被聲明為?Private?的將只在?Class?塊內是可見的。被聲明為?Public?不僅在?Class?塊的內部是可見的,對?Class?塊之外的代碼也是可見的。沒有使用?Private?或?Public?明確聲明的被默認為?Public。
在類的塊內部被聲明為?Public?的過程(Sub?或?Function)將成為類的方法。Public?變量將成為類的屬性,同使用?Property?Get、Property?Let?和?Property?Set?顯式聲明的屬性一樣。類的缺省屬性和方法是在它們的聲明部分用?Default?關鍵字指定的。關于如何使用該關鍵字,請參考單獨的聲明語句主題。
Property?Get?語句
在?Class?塊中,聲明構成用來取得(返回)屬性值的?Property?過程的主體的名稱、參數和代碼。
?[Public?[Default]|?Private]?Property?Get?name?[(arglist)]
?[statements]
?[[Set]?name?=?expression]
?[Exit?Property]?
?[statements]
?[[Set]?name?=?expression]
End?Property
參數
Public? 表明Property?Get?過程可以被所有腳本中的其他過程訪問。?
Default? 只與?Public?關鍵字一起使用,表明?Property?Get?過程中定義的屬性為類的缺省屬性。?
Private? 表明?Property?Get?過程只對定義它的?Class?塊中的其他過程是可以訪問的。?
name? Property?Get?過程的名稱;遵守標準的變量命名規則,區別僅僅在于它可以與同一Class塊中的Property?Let?或?Property?Set過程。?
arglist? 該變量列表代表了?Property?Get?過程被調用時傳遞給它的參數。多個參數之間用逗號分隔開。Property?Get?過程中的每個參數的名稱必須與?Property?Let?過程中的相應參數相同(如果有的話)。?
statements?
任意的一組語句,將在?Property?Get?過程的主體中執行。?
Set?
在將對象作為?Property?Get?過程的返回值時使用的關鍵字。?
expression? Property?Get?過程的返回值。?
說明
如果未使用?Public?或?Private?明確聲明,則?Property?Get?過程被缺省為公有的,即它們對于腳本中的其他所有過程都是可見的。Property?Get過程中的局部變量的值在不同的過程調用之間是不保存的。
在其他任何過程(例如?Function?或?Property?Let)?內部都不能定義?Property?Get?過程。
Exit?Property?語句將導致立即從?Property?Get?過程中退出。程序將繼續執行調用?Property?Get?過程的語句之后的程序。Exit?Property?語句可以出現在?Property?Get?過程中的任何位置,次數不限。
與Sub?和?Property?Let?過程類似,Property?Get?過程是能夠接受參數的過程,可以執行一系列的語句,以及改變參數的值。然而,與Sub?和?Property?Let?不同的是,Property?Get?過程可以被用于表達式的右側,用與使用Function?或屬性名稱相同的方式來返回屬性的值。
要求
版本?5
Property?Let?語句
在?Class?塊中,聲明名稱、參數和代碼等,它們構成了設置屬性值的?Property?過程的主體。
?[Public?|?Private]?Property?Let?name?(
?[arglist,]?value
)
?[statement]
?[Exit?Property]?
?[statement]
End?Property?
參數
Public? 表明?Property?Let?過程可以被所有腳本中的其他所有過程訪問。?
Private 表明?Property?Let?過程只能被定義之的?Class?塊內的其他過程訪問。?
name? Property?Let?過程的名稱;遵守標準的變量命名規則,區別僅僅在于其名稱可以與相同?Class?塊中的?Property?Get?或?Property?Set?過程相同。?
arglist?該變量列表代表了在調用時被傳遞到?Property?Let?過程的參數。多個參數之間用逗號隔開。Property?Let?過程的每個參數的名字必須與?Property?Get?過程中的相應參數相同。此外,?Property?Let?過程的參數比相應的?Property?Get?過程總要多一個。該參數為被賦予屬性的值。?
value?該變量中包含要賦予屬性的值。當過程被調用時,該參數將出現在調用表達式的右側。?
statement?任意的一組語句,將在?Property?Let?過程的主體內執行。?
說明
如果未明確地使用?Public?或?Private?進行指定,Property?Let?過程被缺省設置為公有的,即它們對于腳本內的其他所有過程都是可見的。Property?Let過程中的局部變量的值在不同的過程調用之間是不被保存的。
在其他任何過程(例如?Function?或?Property?Get)的內部不能夠定義?Property?Let?過程。
Exit?Property?語句將導致立即從?Property?Let?過程中退出。程序將從調用?Property?Let?過程的語句之后的點繼續執行。Exit?Property?語句可以出現在?Property?Let?過程中的任何位置,次數不限。
注意?每個?Property?Let?語句必須為所定義的過程至少定義一個參數。該參數(在存在多個參數時的最后一個參數)包含了當?Property?Let?語句被調用時要賦予屬性的值。該參數在前面的語法中稱為value。
與?Function?和?Property?Get?過程類似,Property?Let?過程是一個單獨的過程,它可以接受參數,執行一系列的語句,還可以改變參數的值。不過,與Function?和?Property?Get?過程不同的是,它們兩者都返回一個值,而Property?Let過程只能用于屬性賦值表達式的左側。
要求
版本?5
Property?Set?語句
在?Class?塊中,聲明名稱、參數和代碼,這些構成了將引用設置到對象的?Property?過程的主體。
?[Public?|?Private]?Property?Set?name(
?[arglist,]?reference
)
?[statement]
?[Exit?Property]?
?[statement]
End?Property
參數
Public?
表明?Property?Set?過程可以被所有腳本中的其他所有過程訪問。?
Private?
表明?Property?Set?過程只能被聲明之的同一?Class?塊中的其他過程訪問。?
name?
Property?Set?過程的名稱;遵守標準的變量命名規則,不過該名稱可以與同一個?Class?塊中的?Property?Get?或?Property?Let?過程相同。?
arglist?
變量列表,代表在?Property?Set?過程被調用時傳遞給它的參數。多個參數之間用逗號分隔開。此外,Property?Set?過程將總是比它相應的?Property?Get?過程多一個參數。這個多出來的參數是被賦予屬性的對象。?
reference?
變量,其中包含被用于對象引用賦值的右側的對象引用。?
statement?
將要在?Property?Set?過程主體中執行的任何一組語句。
說明
除非使用?Public?或?Private?明確地進行指定,否則?Property?Set?過程被設置為缺省的公有模式,即腳本中的其他所有過程都是可見的。在不同的過程調用時,Property?Set?過程中的局部變量是不保存的。
在其他任何過程(例如Function或Property?Let)中都不能夠定義Property?Set過程。
Exit?Property?語句將導致立即從?Property?Set?過程中退出。程序將繼續執行調用?Property?Set?過程之后的語句。Exit?Property?語句的數量不受限制,可以出現在?Property?Set?過程中的任何位置。
注意?每個?Property?Set?語句都必須為所定義的過程至少定義一個參數。當?Property?Set?語句所定義的過程被調用時,該參數(在多個參數時為最后一個參數)將為屬性提供實際的對象引用。在前面的語法中,該參數稱為引用。
與?Function?和?Property?Get?過程類似,Property?Set?過程是一個單獨的過程,它可以有若干參數,執行一系列的語句,還可以改變參數的值。然而,與?Function?和?Property?Get?過程不同的是,函數和過程都可以返回值,而?Property?Set?過程對象引用賦值(Set?語句)的左側。
要求
版本?5
Public?語句
定義公有變量并分配存儲空間。在?Class?塊中定義私有變量。
Public?varname[([subscripts])][,?varname[([subscripts])]]?.?.?.
參數
varname?
變量的名稱,遵循標準變量命名規則。?
subscripts?
數組變量的維數;最多可以聲明?60?維的數組。subscripts?參數使用下列語法:?
upper?[,upper]?.?.?.?
數組的下界總是?0。?
說明
Public?語句變量可用于全部腳本中的所有過程。
在使用引用對象的變量之前,必須用?Set?語句將某個已有對象賦予該變量。在賦值之前,所聲明的對象變量被初始化為?Empty。
也可用帶空圓括號的?Public?語句來聲明動態數組。聲明動態數組后,可在過程內使用?ReDim?語句來定義該數組的維數和元素。如果試圖重新聲明數組變量的維數,且此數組變量的大小已在?Private、Public?或?Dim?語句中顯式地指定,則會發生錯誤。
下面例子舉例說明如何使用?Public?語句:?
Public?MyNumber?'?公用?Variant?變量。
Public?MyArray(9)?'?公用數組變量。
?'?Variant?變量的多個公用聲明。
Public?MyNumber,?MyVar,?YourNumber
Private?語句
定義私有變量并分配存儲空間。在?Class塊中定義私有變量。
Private?varname[([subscripts])][,?varname[([subscripts])]]?.?.?.
參數
varname?
變量的名稱;遵循標準變量命名規則。?
subscripts?
數組變量的維數,最多可以聲明?60?維的數組。subscripts?參數使用下列語法:?
upper?[,?upper]?.?.?.?
數組的下界總是?0。?
說明
Private?語句變量只能在聲明該變量的腳本中使用。
在使用引用對象的變量之前,必須用?Set?語句將某個現有對象賦予此變量。在賦值之前,所聲明的對象變量被初始化Empty。
也可用帶空圓括號的?Private?語句聲明動態數組。聲明動態數組后,可在過程內使用?ReDim?語句定義該數組的維數和元素。如果在?Private、Public?或?Dim?語句中已顯式指定數組大小,卻試圖重新聲明數組維數,就會發生錯誤。
注意?在過程中使用?Private?語句時,通常將?Private?語句放在過程的開始處。
下面例子舉例說明如何使用?Private?語句:?
Private?MyNumber?'?私有?Variant?變量。
Private?MyArray(9)?'?私有數組變量。
?'?Variant?變量的多個私有聲明。
Private?MyNumber,?MyVar,?YourNumber
上面就是錯新技術頻道小編給大家介紹ASP中類Class相關內容的整理資料,其實錯新技術頻道是很靠譜的平臺,希望這篇文章能夠幫助到你們哦。
新聞熱點
疑難解答