這幾天在整理計算機上的資料時,發現了一些自己以前學習時用過的資源,隨着時間的推移,有些東西也已經忘得差不多了,趁現在有空整理一下,順便重新溫習一下這些知識。隨着.net的出現,很多人都已經將目光轉向了它的OOP和方便的可視化編程模式,我也不例外。即便如此,個人認爲ASP並非就沒有用處了,尤其在做一些中、小型項目的時候,不管從成本還是其它一些因素上考慮,ASP都是個比較理想的選擇。之前從事ASP項目開發的時候,並不曉得CLASS這種方式,直到一次偶然的機會,讓我意識到原來ASP中也有這玩意兒,喫驚。。。
可能有些初學者或者剛剛接觸ASP的朋友不一定會明白,偶編寫一個簡單的ASP類實現方法,希望對朋友們有幫助(參考資料來源於互聯網)。
首先ASP的類是由事件和方法(它們就是構成類的成員了)構成的,在 Class 塊中,成員通過相應的聲明語句被聲明爲 Private(私有成員,只能在類內部調用) 或 Public(公有成員,可以在類內外部調用) 。被聲明爲 Private 的將只在 Class 塊內是可見的。被聲明爲 Public 不僅在 Class 塊的內部是可見的,對 Class 塊之外的代碼也是可見的。沒有使用
Private 或 Public 明確聲明的被默認爲 Public。在類的塊內部被聲明爲 Public 的過程(Sub 或 Function)將成爲類的方法。Public 變量將成爲類的屬性,同使用 Property Get、Property Let 和 Property Set 顯式聲明的屬性一樣。類的缺省屬性和方法是在它們的聲明部分用 Default 關鍵字指定的。
'//----------------------------ASP中類的使用---------------------------------//
Class ALoaferClass
'//----聲明(聲明就是定義)CaboClass類的類內部(私有)變量
//---- 聲明時一般將變量定義成[Private]私有,通過屬性讀寫器將變量[Public] 公開.
Private strAuthor
Private strVersion
Private strExample
'//---------------------------定義類的事件-------------------------------------//
'//---Class_Initialize()是類的初始化事件,類被調用,首先會觸發該部分的執行,一般用來初始化默認值.
Private Sub Class_Initialize()
strAuthor = "Cabo'liu"
strVersion = "v1.0"
Response.Write("<br>ALoafer Class開始了<br>")
End Sub
'//----Class_Terminate()是類的結束事件,退出該類,就會觸發該事件。
Private Sub Class_Terminate()
Response.Write("<br>ALoafer Class結束了<br>")
End Sub
'//---------------------------用戶自己定義的方法-------------------------------//
'//----該方法返回一個版權信息
Public Sub Information()
Response.Write("<br>Coding By <a href='mailto:[email protected]'>Cabo Liu</a> @ ")
Response.Write("<a href='http://caboliu.cnblogs.com'>々浪子…№</a>.<br>")
End Sub
'//---------------------------定義類的輸出屬性--------------------------------//
'//----定類的屬性,該屬性是讓用戶初始化strExapmle變量
Public Property Let SetExapmle(ByVal strVar)
strExapmle = strVar
End Property
'//----定義類的屬性,該屬性是返回一個版本號
Public Property Get Version
Version = strVersion
End Property
'//----定義類的屬性,該屬性是返回該類的作者號
Public Property Get Author
Author = strAuthor
End Property
'//----定義類的屬性,該屬性是返回自定義值
Public Property Get Exapmle
Exapmle = strExapmle
End Property
End Class
%>
<%
'//---------------------------ASP類的調用--------------------------------//
Dim oneNewClass
Set oneNewClass = New ALoaferClass
Response.Write("作者: "& oneNewClass.Author &" <br>")
Response.Write("版本: "& oneNewClass.Version &" <br>")
oneNewClass.SetExapmle = "這是一個簡單類的例子"
Response.Write("用戶自定義:" & oneNewClass.Exapmle &" <br>")
Response.Write(oneNewClass.Information")
Set oneNewClass = Nothing
%>