我想目前大部分的asp程序员中都还没有使用Class,对面向对象这种术语也不太熟悉,需要增加一章来描述一下asp中的类所扮演的角色,以及和面向对象编程的关系.
我会用尽量贴近编程实践的方式来解释Class的运用,但不会动用面向对象之类的抽象术语,如果你有了面向对象的理论基础,可以把这些内容与其结合,或者会有你独特的发现. 如果没有了解过面向对象,也不用一定要知道面向对象是怎么回事,只要通过阅读本系列的文章,学会了Class的用法,并且在编程中依据了其中的法则,就可以足够健壮地管理你的asp代码了.
Class相当于一个包装箱,它可以将变量和函数包装起来,形成一个整体,本系列文章要讲的所有内容,可以说是包装的学问.
例如,我们可以包装一个数学处理的Class,并使用它:
复制代码 代码如下:
Class Con_Math
Public A
Public B
Private intC
Public Function Sum()
intC = cint(A) + cint(B)
Sum = intC
End Function
End Class
set math = new Con_Math
math.A = 19
math.B = 80
Response.write math.Sum
set math = nothing
逐行解释语法:
1, 定义了一个包装箱,名字叫 Con_Math ,大家都知道Math是数学的意思,Con_前缀是我的编程习惯,对于可能会在整个程序中使用的Class,冠一个Con_前缀,代表它是一个通用性的Class. 纯属编程习惯,但是加个前缀不光是一个习惯问题,等会在后面会做解释.
2,3 放进去了2个变量,名字为A,B, 它们前面的Public代表它们是公共的变量,可以被外面的程序访问到.
4 变量intC被定义为Private,表示它是包装箱内部的私有变量,不可以从外面看到它,也不可以强行扯出来,无论你有多大力气都不行的.偷出来?你试试看.
6,7,8,9 这四行定义了一个进行加法运算的函数,除了一个Public,其他的都是你天天用的东西,如果你不眼熟...... 还是别看这个系列了,先去做做基础功课比较好. 同上面的两个变量一样,加一个Public表示包装箱在这里开了一个洞,你可以从外面看到它,使用它.
10 End Class 打上封箱的胶带,一个整整齐齐的Class就包装完成了
只不过,这个包装箱只是一个构思,不能当现成的用. 借用唐僧大师的话:(悟空他要吃我)只是一个构思,还没有成为现实(他又何罪之有呢),不如等它实例化以后,再用也不迟啊(再定他的罪不迟啊).
实例化,就表示实际的吃肉行为.
我们可以在asp代码中轻易地实例化我们的构思,可惜西天路上千千万万的妖怪都没有办法实例化他们的"吃唐僧肉"的Class,实在真是可怜悯者!