在ASP中使用类,实现模块化
下面我通过举上几个简单的例子说明一下,注意,这里强调的是一种思想,如果在您开发ASP网站的时候能用一个类(基类)展开的话,这是很有必要的(也是很有难度的)。
我们先选择一个简单的例子:
我们要显示经典论坛用户的信息,当输入用户的ID以后能,显示出该用户的一些信息,这是一个过程,可以这样考虑,我们把用户当作一个对象,他有的属性是ID,性别,积分,权限,实现的方法有显示这些信息,ok,这样写:
Class blueidea
Private bname,bpoint,bsex,blevel
'...................
end class
这里先声明了一个名为 blueidea的类,接着是一些私有变量,用于存储blueidea类的属性,这些变量在代码的外部不能访问,这就是数据保护,要定义这些变量,使用了property语句获得值间接的付给私有变量
'-----------------------------------------------------------------
Property Get getname
getname=bname
End Property
Property Let getname(nameid)
bname=nameid
If nameid="" Then
bname="没注册用户"
End If
End Property
'------------------------------------------------------------------
Property Get getsex
getsex=bsex
End Property
Property Let getsex(sex)
bsex=killint(sex,0,0)
If bsex=0 Then
bsex="男"
Else
bsex="女"
End if
End Property
'------------------------------------------------------------------
Property Get getpoint
getpoint=bpoint
End Property
Property Let getpoint(point)
bpoint=killint(point,0,0)
End Property
'------------------------------------------------------------------
这里有个killint函数,是判断数据合法性的,它的原形是:
Private Function killint(i,killstr,killsub)
If Not IsNumeric(i) Then
i=killstr
ElseIf i<=0 Then
i=killsub
End if
killint=Int(Left(i,5))
End Function
该函数功能很明确,不再繁琐说。
由于我们要通过积分判断用户级别,这里定义了一个私有函数:
Private Function getlevel()
bpoint=killint(bpoint,0,0)
If bpoint<500 Then
blevel="初级会员"
ElseIf bpoint>=500 And bpoint<=100 Then
blevel="高级会员"
Else
blevel="终极会员"
End If
Getlevel=blevel
End Function
我们要得是回送用户的信息,必须定义一个public公用函数,显示信息:
Public Function showuser()
response.write("<h5>以下显示<font color=red>"&bname&"</font>的资料:</h5>")