ASP中类Class相关内容的整理资料

2019-11-02 16:00:15来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

说到ASP相信ASP程序员是很清楚的,其实ASP不是一种编程语言,其实在asp的编程语言是vbscript时的类,下面请跟随爱站技术频道小编一起来了解ASP中类Class相关内容的整理资料吧!

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

说明

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

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

Dim?X
Set?X?=?New?classname
由于?VBScript?是一种后期约束型语言,下面的做法是不允许的:

Dim?X?as?New?classname
-或-?

Dim?X
X?=?New?classname
-或-?

Set?X?=?New?Scripting.FileSystemObject

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

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

Private?Sub?Class_Initialize()
?语句
End?Sub
当类初始化时,statements部分由零个或多个将要运行的代码语句组成。

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

Class?TestClass
?Private?Sub?Class_Initialize?'?设置?Initialize?事件。
?MsgBox("TestClass?started")
?End?Sub
?Private?Sub?Class_Terminate?'?设置?Terminate?事件。
?MsgBox("TestClass?terminated")
?End?Sub
End?Class

Set?X?=?New?TestClass?'?创建一个?TestClass?实例。
Set?X?=?Nothing?'?删除实例。

Terminate?事件

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

Private?Sub?Class_Terminate()
?语句
End?Sub
当类初始化时,statements?部分由零个或多个将要运行的代码语句组成。

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

Class?TestClass
?Private?Sub?Class_Initialize?'?设置?Initialize?事件。
?MsgBox("TestClass?started")
?End?Sub
?Private?Sub?Class_Terminate?'?设置?Terminate?事件。
?MsgBox("TestClass?terminated")
?End?Sub
End?Class
Set?X?=?New?TestClass?'?创建一个?TestClass?实例。
Set?X?=?Nothing?'?删除实例。

Class?语句
声明一个类的名称,以及组成该类的变量、属性和方法的定义。
Class?name
?statements
End?Class?
参数
name? 必选项。Class?的名称;遵照标准的变量命名规则。?
statements? 必选项。一个或多个语句,定义了?Class?的变量、属性和方法。?

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

Property?Get?语句
在?Class?块中,声明构成用来取得(返回)属性值的?Property?过程的主体的名称、参数和代码。
?[Public?[Default]|?Private]?Property?Get?name?[(arglist)]
?[statements]
?[[Set]?name?=?expression]
?[Exit?Property]?
?[statements]
?[[Set]?name?=?expression]
End?Property
参数
Public? 表明Property?Get?过程可以被所有脚本中的其他过程访问。?
Default? 只与?Public?关键字一起使用,表明?Property?Get?过程中定义的属性为类的缺省属性。?
Private? 表明?Property?Get?过程只对定义它的?Class?块中的其他过程是可以访问的。?
name? Property?Get?过程的名称;遵守标准的变量命名规则,区别仅仅在于它可以与同一Class块中的Property?Let?或?Property?Set过程。?
arglist? 该变量列表代表了?Property?Get?过程被调用时传递给它的参数。多个参数之间用逗号分隔开。Property?Get?过程中的每个参数的名称必须与?Property?Let?过程中的相应参数相同(如果有的话)。?
statements?
 任意的一组语句,将在?Property?Get?过程的主体中执行。?
Set?
 在将对象作为?Property?Get?过程的返回值时使用的关键字。?
expression? Property?Get?过程的返回值。?

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

在其他任何过程(例如?Function?或?Property?Let)?内部都不能定义?Property?Get?过程。

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

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

要求
版本?5

Property?Let?语句
在?Class?块中,声明名称、参数和代码等,它们构成了设置属性值的?Property?过程的主体。
?[Public?|?Private]?Property?Let?name?(
?[arglist,]?value
)
?[statement]
?[Exit?Property]?
?[statement]
End?Property?
参数
Public? 表明?Property?Let?过程可以被所有脚本中的其他所有过程访问。?
Private 表明?Property?Let?过程只能被定义之的?Class?块内的其他过程访问。?
name? Property?Let?过程的名称;遵守标准的变量命名规则,区别仅仅在于其名称可以与相同?Class?块中的?Property?Get?或?Property?Set?过程相同。?
arglist?该变量列表代表了在调用时被传递到?Property?Let?过程的参数。多个参数之间用逗号隔开。Property?Let?过程的每个参数的名字必须与?Property?Get?过程中的相应参数相同。此外,?Property?Let?过程的参数比相应的?Property?Get?过程总要多一个。该参数为被赋予属性的值。?
value?该变量中包含要赋予属性的值。当过程被调用时,该参数将出现在调用表达式的右侧。?
statement?任意的一组语句,将在?Property?Let?过程的主体内执行。?

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

在其他任何过程(例如?Function?或?Property?Get)的内部不能够定义?Property?Let?过程。

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

注意?每个?Property?Let?语句必须为所定义的过程至少定义一个参数。该参数(在存在多个参数时的最后一个参数)包含了当?Property?Let?语句被调用时要赋予属性的值。该参数在前面的语法中称为value。
与?Function?和?Property?Get?过程类似,Property?Let?过程是一个单独的过程,它可以接受参数,执行一系列的语句,还可以改变参数的值。不过,与Function?和?Property?Get?过程不同的是,它们两者都返回一个值,而Property?Let过程只能用于属性赋值表达式的左侧。

要求
版本?5

Property?Set?语句
在?Class?块中,声明名称、参数和代码,这些构成了将引用设置到对象的?Property?过程的主体。
?[Public?|?Private]?Property?Set?name(
?[arglist,]?reference
)
?[statement]
?[Exit?Property]?
?[statement]
End?Property

参数
Public?
表明?Property?Set?过程可以被所有脚本中的其他所有过程访问。?
Private?
表明?Property?Set?过程只能被声明之的同一?Class?块中的其他过程访问。?
name?
Property?Set?过程的名称;遵守标准的变量命名规则,不过该名称可以与同一个?Class?块中的?Property?Get?或?Property?Let?过程相同。?
arglist?
变量列表,代表在?Property?Set?过程被调用时传递给它的参数。多个参数之间用逗号分隔开。此外,Property?Set?过程将总是比它相应的?Property?Get?过程多一个参数。这个多出来的参数是被赋予属性的对象。?
reference?
变量,其中包含被用于对象引用赋值的右侧的对象引用。?
statement?
将要在?Property?Set?过程主体中执行的任何一组语句。

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

在其他任何过程(例如Function或Property?Let)中都不能够定义Property?Set过程。

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

注意?每个?Property?Set?语句都必须为所定义的过程至少定义一个参数。当?Property?Set?语句所定义的过程被调用时,该参数(在多个参数时为最后一个参数)将为属性提供实际的对象引用。在前面的语法中,该参数称为引用。
与?Function?和?Property?Get?过程类似,Property?Set?过程是一个单独的过程,它可以有若干参数,执行一系列的语句,还可以改变参数的值。然而,与?Function?和?Property?Get?过程不同的是,函数和过程都可以返回值,而?Property?Set?过程对象引用赋值(Set?语句)的左侧。

要求
版本?5

Public?语句
定义公有变量并分配存储空间。在?Class?块中定义私有变量。
Public?varname[([subscripts])][,?varname[([subscripts])]]?.?.?.
参数
varname?
变量的名称,遵循标准变量命名规则。?
subscripts?
数组变量的维数;最多可以声明?60?维的数组。subscripts?参数使用下列语法:?
upper?[,upper]?.?.?.?

数组的下界总是?0。?

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

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

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

下面例子举例说明如何使用?Public?语句:?
Public?MyNumber?'?公用?Variant?变量。
Public?MyArray(9)?'?公用数组变量。
?'?Variant?变量的多个公用声明。
Public?MyNumber,?MyVar,?YourNumber

Private?语句
定义私有变量并分配存储空间。在?Class块中定义私有变量。
Private?varname[([subscripts])][,?varname[([subscripts])]]?.?.?.
参数
varname?
变量的名称;遵循标准变量命名规则。?
subscripts?
数组变量的维数,最多可以声明?60?维的数组。subscripts?参数使用下列语法:?
upper?[,?upper]?.?.?.?

数组的下界总是?0。?

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

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

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

注意?在过程中使用?Private?语句时,通常将?Private?语句放在过程的开始处。
下面例子举例说明如何使用?Private?语句:?
Private?MyNumber?'?私有?Variant?变量。
Private?MyArray(9)?'?私有数组变量。
?'?Variant?变量的多个私有声明。
Private?MyNumber,?MyVar,?YourNumber

上面就是爱站技术频道小编给大家介绍ASP中类Class相关内容的整理资料,其实爱站技术频道是很靠谱的平台,希望这篇文章能够帮助到你们哦。


原文链接:https://js.aizhan.com/develop/asp/9871.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:通用asp防注入程序的方法

下一篇:ASP实现对ORACLE数据库的操作