ASP 类专题

2019-04-02 21:14:13王振洲

3、可以将设定只读、只写属性
如上例中,假如我们将 let 函数去掉,调用 obj.propName = "属性值" 就会出错,因为这时候函数只可读。
class CFoo
    dim publicParam '用 dim 申明公有成员变量
    private privateParam '用 private 申明私有成员变量
    'publicParam = "公有" '不能在 class 标记以内、类函数以外为成员变量赋值
    'const MAX_LEN = 5 '不能在 class 标记以内、类函数以外使用 const

    '该函数为构造函数,在使用 set new 创建对象时,自动执行
    private sub class_initialize()
        publicParam = "公有" '可以在这里为成员变量赋值
        privateParam = "私有"
    end sub

    '该函数为析构函数,在使用 set nothing 释放对象时,自动执行
    private sub class_terminate()
        response.Write "释放对象"
    end sub

    '公有成员函数(过程)
    '成员函数(过程)不需要也不能申明
    sub PrintParam(index)
        if index = 1 then
            call PrintPublicParam()
        elseif index = 2 then
            call PrintPrivateParam()
        end if
    end sub

    '私有成员函数(过程)
    '只是比公有成员函数(过程)多一个 private
    private sub PrintPublicParam()
        response.Write publicParam
    end sub

    private sub PrintPrivateParam()
        response.Write privateParam
    end sub
end class

dim obj
set obj = new CFoo '自动调用 class_initialize 函数,为 publicParam、privateParam 赋值
obj.publicParam = "新的公有"
obj.privateParam = "新的私有" '将发生错误,因为 privateParam 是私有变量