类属性操作

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
执行 obj.propName = "个十百千万亿" 将不会为 pvt 赋值成功,因为该字符串的长度超过了 5。
3、可以将设定只读、只写属性
如上例中,假如我们将 let 函数去掉,调用 obj.propName = "属性值" 就会出错,因为这时候函数只可读
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值