ASP怎么谈到应用到类的?(3)
作者:cnbruce 来源:cnbruce博客 发布时间:2008-03-10 11:21:00
那么,ASP中怎么又引入了类?这类是什么?又是如何应用?
在ASP的脚本语言中,VBscript里有个Class关键字,用它可来声明一个自定义类。比如
Class name
statements
End Class
这里statements里可以声明公有或私有的成员,包括函数、成员和属性。
而Javascript则是用一个函数来“声明”类,然后在该函数里通过 this.prototype 定义属性,this.func 定义方法。
哪个简单拣哪个。在定义了 类也就是 class 的名称 name 后,这里面可以做些什么东西呢?
第一个。MSDN文档:在 Visual Basic 6.0 中,在创建和毁坏类模块时,类模块使用 Initialize 和 Terminate 事件来执行所有必要的操作。当在 New 语句之后第一次遇到对象时,会引发 Initialize 事件,当释放对象的最后一个引用时,会立即引发 Terminate 事件。但是,可在执行期间随时直接调用这些事件方法。
所以经常会看到这样的例子:
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那样具有面向对象的思想服务。
时间有限,虎头蛇尾将就一下了。


猜你喜欢
- 这篇文章主要介绍了基于python读取.mat文件并取出信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。一、准备工作1.扫雷游
- 如何加点盐(salt)?为了加强MD5的安全性,从而加入了新的算法部分即加盐值,加盐值是随机生成的一组字符串,可以包括随机的大小写字母、数字
- Flask web上传获取图像Image读取并使用图片上传界面后端@app.route('/upload')def uplo
- 在本节描述的示例代码,提供真实的例子来示范在 FileSystemObject 对象模式中可用的许多功能。该代码显示了如何一起使用对象模式的
- 调用re库,通过使用compile、findall获取字符串中的emailimport reemail=re.compile(r
- 0. 前言本节中,我们使用策略梯度算法解决 CartPole 问题。虽然在这个简单问题中,使用随机搜索策略和爬山算法就足
- 前提:升序数组,待查元素在数组中。二分查找:就是一个递归函数c。待查元素a,当前数组中位数b,如果b=a则返回b的索引,b>a则在b左
- 摘要:下文讲述五种运行sql脚本的方法,如下所示:实验环境:sql server 2008 R2在一次会议讨论中,大家咨询我使用SSMS运行
- jquery的ajax请求方法:$.ajax({ &nbs
- 假设某宝为鼓励大家双12买买买,奖励双十一那天订单最多的两位用户:分别是用户1:“剁手皇帝陈哈哈” 和 用户2:“触手怪刘大莉” 一人一万元
- 创建表:create table if not exists t( id int, addT
- 今天,老师带偶们复习了一下数据库中的分页,总体来说,今天感觉还不错,因为以前学的还没忘。好了,进入正题,首先,说说top的方法top方法其实
- 本文实例讲述了php实现的简单检验登陆类。分享给大家供大家参考。具体如下:<?phpclass checklogin{ v
- session的本质使用cookie来实现。原理大概是:http 带来服务端提前设置 cookie,服务端拿到标示用户身份的cookie,
- python是支持多线程的, 主要是通过thread和threading这两个模块来实现的,本文主要给大家分享python实现多线程网页爬虫
- 本文实例讲述了Python基于pygame实现图片代替鼠标移动效果。分享给大家供大家参考,具体如下:想想现在学校pygame有几个钟了,就写
- 本文实例讲述了pymongo实现多结果进行多列排序的方法。分享给大家供大家参考。具体分析如下:这里多列排序即指定多个排序字段。集合查询结果排
- 本文实例讲述了Python基于pygame模块播放MP3的方法。分享给大家供大家参考,具体如下:安装pygame(可参考:安装Python和
- 本文实例总结了PHP图像处理技术。分享给大家供大家参考,具体如下:1、绘图场景: 验证码、图像水印、图像压缩处理php绘图坐标体系是从0,0