精典的ASP传奇的J2EE新生的NETFTP服务器服务器安全WINDOWSB/S 模式WEB安全WAP世界动态网站推广宣传
空间服务器数据库技术邮局服务器站長工具硬设与组建Alexa专题DHTML项目管理WEB标准电脑硬件
病毒知识电脑使用布线协议接入交换路由局域网无线网络网络规划
Visual BasicVisual C/C++MssqlMySqloracleSybase 存在安全风险进程系统进程列表应用程序进程列表其它进程列表
黑客编程漏洞分析本地提权免杀技术脚本漏洞数据库注入安全防护内网渗透加密解密工具使用
WAP技术WAP入门
 您的位置:   >> 相关知识 >> 开发技术 >> 精典的ASP >>

ASP类编写详细说明

合金网络科技

 
  添加日期:2007-4-2 点击次数:70次  
   
 
首先ASP的类是由事件和方法(它们就是构成类的成员了)构成的,如果大家还没有接触过,可以先看看下面的说明(哈哈,我是现学现卖,说得不好请见谅)


       在 Class 块中,成员通过相应的声明语句被声明为 Private(私有成员,只能在类内部调用) 或 Public(公有成员,可以在类内外部调用) 。被声明为 Private 的将只在 Class 块内是可见的。被声明为 Public 不仅在 Class 块的内部是可见的,对 Class 块之外的代码也是可见的。没有使用 Private 或 Public 明确声明的被默认为 Public。在类的块内部被声明为 Public 的过程(Sub 或 Function)将成为类的方法。Public 变量将成为类的属性,同使用 Property Get、Property Let 和 Property Set 显式声明的属性一样。类的缺省属性和方法是在它们的声明部分用 Default 关键字指定的。


请大家内心看完蓝色的部分,下面我们来看一个例子

<script language=vbscript runat=server>

Class myClass
        '//----声明(声明就是定义)myClass类的类内部(私有的[Private])变量
        Private strAuthor
        Private strVersion
        Private strExample

 '//---------------------------定义类的事件-------------------------------//
 '//----Class_Initialize()是类的初始化事件,只要一开始使用该类,首先会触发该部分的执行,下面我们会在该成员中初始化该类的作者和版本以及在屏幕上显示一下该类已经开始了

        Private Sub Class_Initialize()
                strAuthor = 思源
                strVersion = 1.0
                Response.Write <br>myClass开始了<br>
        End Sub
        '//----Class_Terminate()是类的结束事件,只要一退出该类,就会触发该事件,下面我们会该事件中设定退出该类时会在屏幕上显示该类已结束了。

        Private Sub Class_Terminate()
                Response.Write <br>myClass结束了<br>
        End Sub

 '//---------------------------用户自己定义的方法-------------------------------//

        '//----该方法返回一个版本信息
 
 Public Sub Information()
         Response.Write <br>Coding By <a href='mailto:coder@sinobe.com'>Maxid_Zen</a> @ <a href='http://www.design60s.com'>www.design60s.com</a>.<br>
 End Sub

 '//---------------------------定义类的输出属性-------------------------------//

 '//----定类的属性,该属性是让用户初始化strExapmle变量

        Public Property Let setExapmle(ByVal strVar)
         strExapmle = strVar
 End Property

 '//---------------------------定义类的输出属性-------------------------------//

 '//----定义类的属性,该属性是返回一个版本号

 Public Property Get Version
  Version = strVersion
 End Property

 '//----定义类的属性,该属性是返回该类的作者号

 Public Property Get Author
  Author = strAuthor
 End Property

 '//----定义类的属性,该属性是返回一个版本号

 Public Property Get Exapmle
  Exapmle = strExapmle
 End Property

End Class

</script>
<%

'//-------这里是使用该类的例子

Dim oneNewClass

Set oneNewClass = myClass

Response.Write 作者: & oneNewClass.Author & <br>
Response.Write 版本: & oneNewClass.Version & <br>

oneNewClass.setExapmle = 这是一个简单类的例子

Response.Write 用户自定义: & oneNewClass.Exapmle & <br>

oneNewClass.Information

Set oneNewClass = Nothing

%>
 
 
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 = '属性值' 就会出错,因为这时候函数只可读
精典的ASP精选TOP
· 利用ADODB.Stream 防盗链
· Adodb.Stream说明手册
· 采集需要登录
· ASP 判断远程图片是否存在
· 在ServerXMLHTTP组件中使用代理服务器
· 用XMLHTTP通过代理服务器从服务提取数据的一些问题
· objXML.readystate的值
· 互联网HTTP连接等出错代码大全
· 利用XMLHTTP实现的二级连动Select
· 利用 xmlhttp 分块上传文件
 
服务器安全点击TOP
· 新云最新漏洞总结篇
· 各类网站的默认数据库和密码
· Windows Server2003 防木马权限设置IIS服务器安全配置整理
· 针对ASP网站的Win 2003硬盘安全设置
· IIS 6 的PHP 最佳配置方法
· 利用SA.exe 将Iusr_victim克隆为Administrator
· Cmd模式下的入侵技术大全
· 破解网页代码加密
· SERV-U 6.4提权方法,通杀SERV-U版本
· 新云网站管理系统文件注入漏洞
 
硬设与组建点击TOP
· 从头到尾教你组建小型局域网20
· 从头到尾教你组建小型局域网19
· 从头到尾教你组建小型局域网18
· 从头到尾教你组建小型局域网17
· 从头到尾教你组建小型局域网16
· 从头到尾教你组建小型局域网15
· 从头到尾教你组建小型局域网14
· 从头到尾教你组建小型局域网13
· 从头到尾教你组建小型局域网12
· 从头到尾教你组建小型局域网11
 
病毒知识点击TOP
· 不再重装 手动清除顽固病毒AutoRUN
· 木马静态变动态 DLL木马程序大揭秘
· 详解一个很牛X的网马
· 一个网马
· Trojan-Downloader.Win32.Delf.bab
· 抓了一个AJAX的网马
· 迅雷5 最新0day利用程序
· 自动关掉270种杀毒软件
· RealPlayer 最新网马
· 五个反弹型后门的源代码
 
WINDOWS点击TOP
· 4【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 3【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 2【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 1【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· Capture an HTML document as an image
· 如何给eWebEditor编辑器加上运行代码框功能
· 给CuteEditor5增加了高亮代码显示功能
· CuteEditor6.0使用配置心得体会
· 关于IE插件的CLSID问题
· 对开发的程序(制作CAB)进行签名,并允许网站中使用
  "凌风微型文章系统",针对"搜索引擎"完美设计,提高"搜索引擎"对网站容量,质量的评估值,"扁平化,转静态 ..."