ASP中类的使用
这几天在整理计算机上的资料时,发现了一些自己以前学习时用过的资源,随着时间的推移,有些东西也已经忘得差不多了,趁现在有空整理一下,顺便重新温习一下这些知识。随着.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 关键字指定的。
1
<%
2
'//----------------------------ASP中类的使用---------------------------------//
3
Class ALoaferClass
4
5
'//----声明(声明就是定义)CaboClass类的类内部(私有)变量
6
'//---- 声明时一般将变量定义成[Private]私有,通过属性读写器将变量[Public] 公开.
7
Private strAuthor
8
Private strVersion
9
Private strExample
10
11
'//---------------------------定义类的事件-------------------------------------//
12
13
'//---Class_Initialize()是类的初始化事件,类被调用,首先会触发该部分的执行,一般用来初始化默认值.
14
Private Sub Class_Initialize()
15
strAuthor = "Cabo'liu"
16
strVersion = "v1.0"
17
Response.Write("<br>ALoafer Class开始了<br>")
18
End Sub
19
20
'//----Class_Terminate()是类的结束事件,退出该类,就会触发该事件。
21
Private Sub Class_Terminate()
22
Response.Write("<br>ALoafer Class结束了<br>")
23
End Sub
24
25
'//---------------------------用户自己定义的方法-------------------------------//
26
'//----该方法返回一个版权信息
27
Public Sub Information()
28
Response.Write("<br>Coding By <a href='mailto:caboliu@163.com'>Cabo Liu</a> @ ")
29
Response.Write("<a href='http://caboliu.cnblogs.com'>々浪子…№</a>.<br>")
30
End Sub
31
32
'//---------------------------定义类的输出属性--------------------------------//
33
'//----定类的属性,该属性是让用户初始化strExapmle变量
34
Public Property Let SetExapmle(ByVal strVar)
35
strExapmle = strVar
36
End Property
37
38
'//----定义类的属性,该属性是返回一个版本号
39
Public Property Get Version
40
Version = strVersion
41
End Property
42
'//----定义类的属性,该属性是返回该类的作者号
43
Public Property Get Author
44
Author = strAuthor
45
End Property
46
'//----定义类的属性,该属性是返回自定义值
47
Public Property Get Exapmle
48
Exapmle = strExapmle
49
End Property
50
51
End Class
52
%>
53
54
<%
55
'//---------------------------ASP类的调用--------------------------------//
56
Dim oneNewClass
57
Set oneNewClass = New ALoaferClass
58
Response.Write("作者: "& oneNewClass.Author &" <br>")
59
Response.Write("版本: "& oneNewClass.Version &" <br>")
60
oneNewClass.SetExapmle = "这是一个简单类的例子"
61
Response.Write("用户自定义:" & oneNewClass.Exapmle &" <br>")
62
Response.Write(oneNewClass.Information")
63
Set oneNewClass = Nothing
64
%>
<%2
'//----------------------------ASP中类的使用---------------------------------// 3
Class ALoaferClass 4

5
'//----声明(声明就是定义)CaboClass类的类内部(私有)变量 6
'//---- 声明时一般将变量定义成[Private]私有,通过属性读写器将变量[Public] 公开.7
Private strAuthor 8
Private strVersion 9
Private strExample 10

11
'//---------------------------定义类的事件-------------------------------------// 12

13
'//---Class_Initialize()是类的初始化事件,类被调用,首先会触发该部分的执行,一般用来初始化默认值.14
Private Sub Class_Initialize() 15
strAuthor = "Cabo'liu" 16
strVersion = "v1.0" 17
Response.Write("<br>ALoafer Class开始了<br>")18
End Sub 19

20
'//----Class_Terminate()是类的结束事件,退出该类,就会触发该事件。 21
Private Sub Class_Terminate() 22
Response.Write("<br>ALoafer Class结束了<br>")23
End Sub 24

25
'//---------------------------用户自己定义的方法-------------------------------// 26
'//----该方法返回一个版权信息 27
Public Sub Information() 28
Response.Write("<br>Coding By <a href='mailto:caboliu@163.com'>Cabo Liu</a> @ ")29
Response.Write("<a href='http://caboliu.cnblogs.com'>々浪子…№</a>.<br>")30
End Sub 31

32
'//---------------------------定义类的输出属性--------------------------------// 33
'//----定类的属性,该属性是让用户初始化strExapmle变量 34
Public Property Let SetExapmle(ByVal strVar) 35
strExapmle = strVar 36
End Property 37

38
'//----定义类的属性,该属性是返回一个版本号 39
Public Property Get Version 40
Version = strVersion 41
End Property 42
'//----定义类的属性,该属性是返回该类的作者号 43
Public Property Get Author 44
Author = strAuthor 45
End Property 46
'//----定义类的属性,该属性是返回自定义值47
Public Property Get Exapmle 48
Exapmle = strExapmle 49
End Property 50

51
End Class 52
%>53

54
<% 55
'//---------------------------ASP类的调用--------------------------------// 56
Dim oneNewClass 57
Set oneNewClass = New ALoaferClass 58
Response.Write("作者: "& oneNewClass.Author &" <br>")59
Response.Write("版本: "& oneNewClass.Version &" <br>")60
oneNewClass.SetExapmle = "这是一个简单类的例子" 61
Response.Write("用户自定义:" & oneNewClass.Exapmle &" <br>")62
Response.Write(oneNewClass.Information")63
Set oneNewClass = Nothing 64
%>

浙公网安备 33010602011771号