方法。
所以经常会看到这样的例子:
Class cnbruce ''声明一个名为cnbruce的类
Private cnrose Private Sub Class_Initialize cnrose="My Name is cnrose." End Sub
Private Sub Class_Terminate() End Sub
End Class
|
喏,这也就是一个初始化。
此外,asp类中具有let和get方法。比如在 以上代码的Class cnbruce ... End Class之间加入:
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那样具有面向对象的思想服务。
时间有限,虎头蛇尾将就一下了。