程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP中類Class相關內容的整理資料

ASP中類Class相關內容的整理資料

編輯:關於ASP編程
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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved