从mzwu类学习ASP类

一、mzwu类
<%
Class mzwu
    '定义一个公有变量name,即mzwu类的name属性
    Public name
    
    '定义mzwu类的另一个属性url,注意定义方法
    Private temp_url
    Public property Let url(value) '设置url属性可写,缺此句属性不可写
        temp_url = value
    End property
    Public property Get url '设置url属性可读,缺此句属性不可读
        url = temp_url
    End property
    
    '定义一个私有函数过程addstr,只能在mzwu类内部使用
    Private Function addstr(value)
        addstr = "mzwu中文名称:" & value
    End Function
    
    '类初始化
    Private Sub Class_Initialize
        Dim str
        str = "木子屋"
        name = addstr(str)
        url = "出错了:还没有给url赋值!"
    End Sub
    
    '定义一个子过程writename,即mzwu类的一个方法writename,无返回值
    '可根据实际使该方法带不带参数
    Public Sub writename()
        Response.write "我是调用writename方法来的"
    End Sub
    
    '定义一个函数过程getname,即mzwu类的一个方法getname,有返回值
    '可根据实际使该方法带不带参数
    Public Function getname()
        getname = "我是调用getname方法来的"
    End Function
    
    '类结束
    Private Sub Class_Terminate
        name = ""
        temp_url = ""
    End Sub
End class
%>


二、调用举例
<%
Dim NewClass
Set NewClass = new mzwu
Response.write NewClass.url '此时url没值,显示"出错了:还没有给url赋值"
Response.write "<br/>"
NewClass.url = "http://www.mzwu.com/"
Response.write NewClass.url '赋值后显示"http://www.mzwu.com/"
Response.write "<br/>"
Response.write NewClass.name '显示"mzwu中文名称:木子屋"
Response.write "<br/>"
Dim str
str = NewClass.getname '调用getname方法
Response.write str  '显示"我是调用getname方法来的"
Response.write "<br/>"
Response.write NewClass.writename '调用writename方法,显示"我是调用writename方法来的"
Set NewClass = Nothing
%>


三、说明
1.ASP中类以"Class 类名称"开头,"End Class"结尾
2.以Public开头的变量就是类的属性,以Public开头的子过程和函数过程就是类的方法,其中公有子过程一般无返回值,公有函数过程有返回值。
3.以Private开头的变量、子过程和函数过程只能在类内部使用。

评论: 1 | 引用: 0 | 查看次数: 4021
发表评论
登录后再发表评论!