hen
pvt = v
end if
end property
执行 obj.propName = "个十百千万亿" 将不会为 pvt 赋值成功,因为该字符串的长度超过了 5。
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 是私有变量
call obj.PrintParam(1) ''显示 publicParam 的值
call obj.PrintPublicParam() ''将发生错误,因为 PrintPublicParam 是私有函数
set obj = nothing ''自动调用 class_terminate 函数,显示“释放对象”