ASP 类专题(2)


class CFish
    sub Swim()
    end sub
end class
class CBird
    sub Fly()
    end sub
end class
class CAnimal
    dim fish
    dim bird
    private sub class_initialize()
        set fish = new CFish
        set bird = new CBird
    end sub

    private sub class_terminate()
        set fish = nothing
        set bird = nothing
    end sub
end class
dim animal
set animal = new CAnimal
call animal.fish.Swim() '鱼游
call animal.bird.Fly() '鸟飞
set animal = nothing
ASP 类属性
class CFoo
    private pvt

    '属性写
    public property let propName(v)
        pvt = v
    end property

    '属性读
    public property get propName()
        PropName = pvt
    end property
end class

dim obj
set obj = new CFoo
obj.propName = "属性值"
response.Write(obj.propName) '显示“属性值”
set obj = nothing

可以看出属性值相当于是在私有成员变量与外界之间架了一座桥梁,使双方可以互相通信。
有人就会问属性跟公有成员变量一样,它的存在又有什么独立的意义呢?
1、可以在赋值的同时执行其它功能
如下代码,相当于同时为两个成员变量赋值
    public property let propName(v)
        pvt = v
        另一个私有成员变量名 = "pvt 的值:" & v
    end property
2、可以确定赋值范围
假如上例中的属性写改为如下:
    public property let propName(v)
        if Len(v) <= 5 then
            pvt = v
        end if
    end property

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3596.html