ASP中class Property Get、Property Let 的簡(jiǎn)單介紹和使用方法
本文將給大家一起分享介紹到的是關(guān)于ASP中class Property Get、Property Let 的簡(jiǎn)單介紹和使用方法,希望對(duì)大家有所幫助。
<%
'在 Class 塊中,成員通過相應(yīng)的聲明語(yǔ)句被聲明為 Private(私有成員,只能在類內(nèi)部調(diào)用) 或 Public(公有成員,可以在類內(nèi)外部調(diào)用) 。
'被聲明為 Private 的將只在 Class 塊內(nèi)是可見的。被聲明為 Public 不僅在 Class 塊的內(nèi)部是可見的,對(duì) Class 塊之外的代碼也是可見的。
'沒有使用 Private 或 Public 明確聲明的被默認(rèn)為 Public。在類的塊內(nèi)部被聲明為 Public 的過程(Sub 或 Function)將成為類的方法。
'Public 變量將成為類的屬性,同使用 Property Get、Property Let 和 Property Set 顯式聲明的屬性一樣。
'類的缺省屬性和方法是在它們的聲明部分用 Default 關(guān)鍵字指定的。
Class myClass
'//----聲明(聲明就是定義)myClass類的類內(nèi)部(私有的[Private])變量
Private strAuthor
Private strVersion
Private strExample
'//---------------------------定義類的事件-------------------------------//
'//----Class_Initialize()是類的初始化事件,只要一開始使用該類,首先會(huì)觸發(fā)該部分的執(zhí)行.
'下面我們會(huì)在該成員中初始化該類的作者和版本以在屏幕上顯示一下該類已經(jīng)開始了
Private Sub Class_Initialize()
strAuthor = "思源"
strVersion = "1.0"
Response.Write "<br/>myClass開始了<br/>"
End Sub
'//----Class_Terminate()是類的結(jié)束事件,只要一退出該類,就會(huì)觸發(fā)該事件.
'下面我們會(huì)該事件中設(shè)定退出該類時(shí)會(huì)在屏幕上顯示該類已結(jié)束了。
Private Sub Class_Terminate()
Response.Write "<br/>myClass結(jié)束了<br/>"
End Sub
'//---------------------------用戶自己定義的方法-------------------------------//
'//----該方法返回一個(gè)版本信息
Public Sub Information()
Response.Write "<br/>Coding By <a href='mailto:coder@sinobe.com'>Maxid_Zen</a> @ <a href='http://www.design60s.com'>www.design60s.com</a>.<br/>"
End Sub
'//---------------------------定義類的輸出屬性-------------------------------//
'//----定類的屬性,該屬性是讓用戶初始化strExample變量
Public Property Let setExample(ByVal strVar)
strExample = strVar
End Property
'//---------------------------定義類的輸出屬性-------------------------------//
'//----定義類的屬性,該屬性是返回一個(gè)版本號(hào)
Public Property Get Version
Version = strVersion
End Property
'//----定義類的屬性,該屬性是返回該類的作者號(hào)
Public Property Get Author
Author = strAuthor
End Property
'//----定義類的屬性,該屬性是返回用戶自定義信息
Public Property Get Example
Example = strExample
End Property
End Class
%>
<%
'//-------這里是使用該類的例子
Dim oneNewClass
Set oneNewClass = new myClass
Response.Write "作者:" & oneNewClass.Author & "<br/>"
Response.Write "版本:" & oneNewClass.Version & "<br/>"
oneNewClass.setExample = "這是一個(gè)簡(jiǎn)單類的例子"
Response.Write "用戶自定義:" & oneNewClass.Example & "<br/>"
oneNewClass.Information
Set oneNewClass = Nothing
%>
Property Get 語(yǔ)句
在 Class 塊中,聲明構(gòu)成用來取得(返回)的值的屬性過程的主體的名稱、參數(shù)和代碼。
[Public [Default]| Private] Property Get name [(arglist)]
[statements]
[[Set] name = expression]
[Exit Property]
[statements]
[[Set] name = expression]
End Property
參數(shù)
Public
表明Property Get 過程可以被所有腳本中的其他過程訪問。
Default
只與 Public 關(guān)鍵字一起使用,表明 Property Get 過程中定義的屬性為類的缺省屬性。
Private
表明 Property Get 過程只對(duì)定義它的 Class 塊中的其他過程是可以訪問的。
name
Property Get 過程的名稱;遵守標(biāo)準(zhǔn)的變量命名規(guī)則,區(qū)別僅僅在于它可以與同一Class塊中的Property Let 或 Property Set過程。
arglist
該變量列表代表了 Property Get 過程被調(diào)用時(shí)傳遞給它的參數(shù)。多個(gè)參數(shù)之間用逗號(hào)分隔開。Property Get 過程中的每個(gè)參數(shù)的名稱必須與 Property Let 過程中的相應(yīng)參數(shù)相同(如果有的話)。
statements
任意的一組語(yǔ)句,將在 Property Get 過程的主體中執(zhí)行。
Set
在將對(duì)象作為 Property Get 過程的返回值時(shí)使用的關(guān)鍵字。
expression
Property Get 過程的返回值。
說明
如果未使用 Public 或 Private明確聲明,則 Property Get 過程被缺省為公有的,即它們對(duì)于腳本中的其他所有過程都是可見的。Property Get過程中的局部變量的值在不同的過程調(diào)用之間是不保存的。
在其他任何過程(例如 Function 或 Property Let) 內(nèi)部都不能定義 Property Get 過程。
Exit Property 語(yǔ)句將導(dǎo)致立即從 Property Get 過程中退出。程序?qū)⒗^續(xù)執(zhí)行調(diào)用 Property Get 過程的語(yǔ)句之后的程序。Exit Property 語(yǔ)句可以出現(xiàn)在 Property Get 過程中的任何位置,次數(shù)不限。
與Sub 和 Property Let 過程類似,Property Get 過程是能夠接受參數(shù)的過程,可以執(zhí)行一系列的語(yǔ)句,以及改變參數(shù)的值。然而,與Sub 和 Property Let 不同的是,Property Get 過程可以被用于表達(dá)式的右側(cè),用與使用Function 或?qū)傩悦Q相同的方式來返回屬性的值。
Property Let 語(yǔ)句
在 Class 塊中,聲明名稱、參數(shù)和代碼等,它們構(gòu)成了賦值(設(shè)置)的 Property 過程的主體。
[Public | Private] Property Let name (
[arglist,] value
)
[statement]
[Exit Property]
[statement]
End Property
參數(shù)
Public
表明 Property Let 過程可以被所有腳本中的其他所有過程訪問。
Private
表明 Property Let 過程只能被定義之的 Class 塊內(nèi)的其他過程訪問。
name
Property Let 過程的名稱;遵守標(biāo)準(zhǔn)的變量命名規(guī)則,區(qū)別僅僅在于其名稱可以與相同 Class 塊中的 Property Get 或 Property Set 過程相同。
arglist
該變量列表代表了在調(diào)用時(shí)被傳遞到 Property Let 過程的參數(shù)。