Public Property get YName
YName=cnrose
End Property
即变成了:
Class cnbruce '声明一个名为cnbruce的类 Private cnrose Private Sub Class_Initialize cnrose="My Name is cnrose." End Sub Private Sub Class_Terminate() End Sub Public Property get YName YName=cnrose End Property End Class |
那么如何将该值提取呢,比如
Set aaa=New cnbruce
response.write aaa.YName
注意aaa.YName已经有些感觉了。aaa即为定义为cnbruce类的对象,最终输出显示为该类对象中的YName get值,其值内容为 变量cnrose的值,并且该值已经被初始化,所以,最终的结果是“My Name is cnrose.”
这是 get ,直接提取已经封装好的类的内部的东西,那么 let 呢?即是外部对类的交互访问操作。比如我现在外部定义的值应用到类中。即先定义:
public property let MName(nnn)
cnrose=nnn
end property
它的意思很简单,参数nnn的值将随着外部不同的值而赋到变量cnrose上。那么OK结合上的程式,即最中输出显示的内容,也就是显示的变量cnrose的内容,不是初始化的内容,而是由let 外部应用的不定值。那如何应用let 呢。
aaa.MName="sdasdasd"
直接定义值就可以了。那么现在看看全部程序:
<% Class cnbruce Private cnrose Private Sub Class_Initialize cnrose="My Name is cnrose." End Sub Public Property get YName YName=cnrose End Property public property let MName(nnn) cnrose=nnn end property End Class Set aaa=New cnbruce aaa.MName="hahahoho" response.write aaa.YName %> |
虽然定义的是aaa.MName的值为"hahahoho",但根据public property let MName(nnn),其值到变量cnrose,SO在输出aaa.YName的时候,根据Public Property get YName,结果的值是什么也就不奇怪了。/
至于功能型的程式,则在类中定义为 函数 Function,或者子程序 Sub 了。
SO,总的说来,就只是功能的封装,以及在应用的时候好写好看(直接 类名.方法、类名.属性-_-!),但不要指望它像Java 或.Net那样具有面向对象的思想服务。
时间有限,虎头蛇尾将就一下了。