手机
当前位置:查字典教程网 >编程开发 >ASP教程 >ASP中类Class相关内容的整理资料
ASP中类Class相关内容的整理资料
摘要:Class对象使用Class语句创建的对象。提供了对类的各种事件的访问。说明不允许显式地将一个变量声明为Class类型。在VBScript的...

Class对象

使用Class语句创建的对象。提供了对类的各种事件的访问。

说明

不允许显式地将一个变量声明为Class类型。在VBScript的上下文中,“类对象”一词指的是用VBScriptClass语句定义的任何对象。

在使用Class语句建立了类定义之后,可以用下面的形式创建类的一个实例:

DimX

SetX=Newclassname

由于VBScript是一种后期约束型语言,下面的做法是不允许的:

DimXasNewclassname

-或-

DimX

X=Newclassname

-或-

SetX=NewScripting.FileSystemObject

Class对象的事件

Class对象提供对类的事件的访问。

Initialize事件

在创建类的实例时发生此事件。

PrivateSubClass_Initialize()

语句

EndSub

当类初始化时,statements部分由零个或多个将要运行的代码语句组成。

说明

下面的例子演示了Initialize事件的用法。

ClassTestClass

PrivateSubClass_Initialize'设置Initialize事件。

MsgBox("TestClassstarted")

EndSub

PrivateSubClass_Terminate'设置Terminate事件。

MsgBox("TestClassterminated")

EndSub

EndClass

SetX=NewTestClass'创建一个TestClass实例。

SetX=Nothing'删除实例。

Terminate事件

在所关联的类的实例终止时发生此事件。

PrivateSubClass_Terminate()

语句

EndSub

当类初始化时,statements部分由零个或多个将要运行的代码语句组成。

说明

下面的例子演示了Terminate事件的用法。

ClassTestClass

PrivateSubClass_Initialize'设置Initialize事件。

MsgBox("TestClassstarted")

EndSub

PrivateSubClass_Terminate'设置Terminate事件。

MsgBox("TestClassterminated")

EndSub

EndClass

SetX=NewTestClass'创建一个TestClass实例。

SetX=Nothing'删除实例。

Class语句

声明一个类的名称,以及组成该类的变量、属性和方法的定义。

Classname

statements

EndClass

参数

name必选项。Class的名称;遵照标准的变量命名规则。

statements必选项。一个或多个语句,定义了Class的变量、属性和方法。

说明

在Class块中,成员通过相应的声明语句被声明为Private或Public。被声明为Private的将只在Class块内是可见的。被声明为Public不仅在Class块的内部是可见的,对Class块之外的代码也是可见的。没有使用Private或Public明确声明的被默认为Public。

在类的块内部被声明为Public的过程(Sub或Function)将成为类的方法。Public变量将成为类的属性,同使用PropertyGet、PropertyLet和PropertySet显式声明的属性一样。类的缺省属性和方法是在它们的声明部分用Default关键字指定的。关于如何使用该关键字,请参考单独的声明语句主题。

PropertyGet语句

在Class块中,声明构成用来取得(返回)属性值的Property过程的主体的名称、参数和代码。

[Public[Default]|Private]PropertyGetname[(arglist)]

[statements]

[[Set]name=expression]

[ExitProperty]

[statements]

[[Set]name=expression]

EndProperty

参数

Public表明PropertyGet过程可以被所有脚本中的其他过程访问。

Default只与Public关键字一起使用,表明PropertyGet过程中定义的属性为类的缺省属性。

Private表明PropertyGet过程只对定义它的Class块中的其他过程是可以访问的。

namePropertyGet过程的名称;遵守标准的变量命名规则,区别仅仅在于它可以与同一Class块中的PropertyLet或PropertySet过程。

arglist该变量列表代表了PropertyGet过程被调用时传递给它的参数。多个参数之间用逗号分隔开。PropertyGet过程中的每个参数的名称必须与PropertyLet过程中的相应参数相同(如果有的话)。

statements

任意的一组语句,将在PropertyGet过程的主体中执行。

Set

在将对象作为PropertyGet过程的返回值时使用的关键字。

expressionPropertyGet过程的返回值。

说明

如果未使用Public或Private明确声明,则PropertyGet过程被缺省为公有的,即它们对于脚本中的其他所有过程都是可见的。PropertyGet过程中的局部变量的值在不同的过程调用之间是不保存的。

在其他任何过程(例如Function或PropertyLet)内部都不能定义PropertyGet过程。

ExitProperty语句将导致立即从PropertyGet过程中退出。程序将继续执行调用PropertyGet过程的语句之后的程序。ExitProperty语句可以出现在PropertyGet过程中的任何位置,次数不限。

与Sub和PropertyLet过程类似,PropertyGet过程是能够接受参数的过程,可以执行一系列的语句,以及改变参数的值。然而,与Sub和PropertyLet不同的是,PropertyGet过程可以被用于表达式的右侧,用与使用Function或属性名称相同的方式来返回属性的值。

要求

版本5

PropertyLet语句

在Class块中,声明名称、参数和代码等,它们构成了设置属性值的Property过程的主体。

[Public|Private]PropertyLetname(

[arglist,]value

)

[statement]

[ExitProperty]

[statement]

EndProperty

参数

Public表明PropertyLet过程可以被所有脚本中的其他所有过程访问。

Private表明PropertyLet过程只能被定义之的Class块内的其他过程访问。

namePropertyLet过程的名称;遵守标准的变量命名规则,区别仅仅在于其名称可以与相同Class块中的PropertyGet或PropertySet过程相同。

arglist该变量列表代表了在调用时被传递到PropertyLet过程的参数。多个参数之间用逗号隔开。PropertyLet过程的每个参数的名字必须与PropertyGet过程中的相应参数相同。此外,PropertyLet过程的参数比相应的PropertyGet过程总要多一个。该参数为被赋予属性的值。

value该变量中包含要赋予属性的值。当过程被调用时,该参数将出现在调用表达式的右侧。

statement任意的一组语句,将在PropertyLet过程的主体内执行。

说明

如果未明确地使用Public或Private进行指定,PropertyLet过程被缺省设置为公有的,即它们对于脚本内的其他所有过程都是可见的。PropertyLet过程中的局部变量的值在不同的过程调用之间是不被保存的。

在其他任何过程(例如Function或PropertyGet)的内部不能够定义PropertyLet过程。

ExitProperty语句将导致立即从PropertyLet过程中退出。程序将从调用PropertyLet过程的语句之后的点继续执行。ExitProperty语句可以出现在PropertyLet过程中的任何位置,次数不限。

注意每个PropertyLet语句必须为所定义的过程至少定义一个参数。该参数(在存在多个参数时的最后一个参数)包含了当PropertyLet语句被调用时要赋予属性的值。该参数在前面的语法中称为value。

与Function和PropertyGet过程类似,PropertyLet过程是一个单独的过程,它可以接受参数,执行一系列的语句,还可以改变参数的值。不过,与Function和PropertyGet过程不同的是,它们两者都返回一个值,而PropertyLet过程只能用于属性赋值表达式的左侧。

要求

版本5

PropertySet语句

在Class块中,声明名称、参数和代码,这些构成了将引用设置到对象的Property过程的主体。

[Public|Private]PropertySetname(

[arglist,]reference

)

[statement]

[ExitProperty]

[statement]

EndProperty

参数

Public

表明PropertySet过程可以被所有脚本中的其他所有过程访问。

Private

表明PropertySet过程只能被声明之的同一Class块中的其他过程访问。

name

PropertySet过程的名称;遵守标准的变量命名规则,不过该名称可以与同一个Class块中的PropertyGet或PropertyLet过程相同。

arglist

变量列表,代表在PropertySet过程被调用时传递给它的参数。多个参数之间用逗号分隔开。此外,PropertySet过程将总是比它相应的PropertyGet过程多一个参数。这个多出来的参数是被赋予属性的对象。

reference

变量,其中包含被用于对象引用赋值的右侧的对象引用。

statement

将要在PropertySet过程主体中执行的任何一组语句。

说明

除非使用Public或Private明确地进行指定,否则PropertySet过程被设置为缺省的公有模式,即脚本中的其他所有过程都是可见的。在不同的过程调用时,PropertySet过程中的局部变量是不保存的。

在其他任何过程(例如Function或PropertyLet)中都不能够定义PropertySet过程。

ExitProperty语句将导致立即从PropertySet过程中退出。程序将继续执行调用PropertySet过程之后的语句。ExitProperty语句的数量不受限制,可以出现在PropertySet过程中的任何位置。

注意每个PropertySet语句都必须为所定义的过程至少定义一个参数。当PropertySet语句所定义的过程被调用时,该参数(在多个参数时为最后一个参数)将为属性提供实际的对象引用。在前面的语法中,该参数称为引用。

与Function和PropertyGet过程类似,PropertySet过程是一个单独的过程,它可以有若干参数,执行一系列的语句,还可以改变参数的值。然而,与Function和PropertyGet过程不同的是,函数和过程都可以返回值,而PropertySet过程对象引用赋值(Set语句)的左侧。

要求

版本5

Public语句

定义公有变量并分配存储空间。在Class块中定义私有变量。

Publicvarname[([subscripts])][,varname[([subscripts])]]...

参数

varname

变量的名称,遵循标准变量命名规则。

subscripts

数组变量的维数;最多可以声明60维的数组。subscripts参数使用下列语法:

upper[,upper]...

数组的下界总是0。

说明

Public语句变量可用于全部脚本中的所有过程。

在使用引用对象的变量之前,必须用Set语句将某个已有对象赋予该变量。在赋值之前,所声明的对象变量被初始化为Empty。

也可用带空圆括号的Public语句来声明动态数组。声明动态数组后,可在过程内使用ReDim语句来定义该数组的维数和元素。如果试图重新声明数组变量的维数,且此数组变量的大小已在Private、Public或Dim语句中显式地指定,则会发生错误。

下面例子举例说明如何使用Public语句:

PublicMyNumber'公用Variant变量。

PublicMyArray(9)'公用数组变量。

'Variant变量的多个公用声明。

PublicMyNumber,MyVar,YourNumber

Private语句

定义私有变量并分配存储空间。在Class块中定义私有变量。

Privatevarname[([subscripts])][,varname[([subscripts])]]...

参数

varname

变量的名称;遵循标准变量命名规则。

subscripts

数组变量的维数,最多可以声明60维的数组。subscripts参数使用下列语法:

upper[,upper]...

数组的下界总是0。

说明

Private语句变量只能在声明该变量的脚本中使用。

在使用引用对象的变量之前,必须用Set语句将某个现有对象赋予此变量。在赋值之前,所声明的对象变量被初始化Empty。

也可用带空圆括号的Private语句声明动态数组。声明动态数组后,可在过程内使用ReDim语句定义该数组的维数和元素。如果在Private、Public或Dim语句中已显式指定数组大小,却试图重新声明数组维数,就会发生错误。

注意在过程中使用Private语句时,通常将Private语句放在过程的开始处。

下面例子举例说明如何使用Private语句:

PrivateMyNumber'私有Variant变量。

PrivateMyArray(9)'私有数组变量。

'Variant变量的多个私有声明。

PrivateMyNumber,MyVar,YourNumber

【ASP中类Class相关内容的整理资料】相关文章:

Session对象失效的客户端解决方法

利用ASP发送和接收XML数据的处理方法

在ASP中利用ADO显示Excel文件内容的函数

ASP类编写详细说明

ASP操作Excel的方法

简单的ASP中经常用到的代码[推荐]第1/4页

浅谈ASP中的类

ASP 中使用 HTTP 协议发送参数详解

ASP项目中的公共翻页模块

用ASP+CSS实现随机背景

精品推荐
分类导航