class Property Get、Property Let 使用说明

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

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

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

Public Property Let setExample(ByVal strVar)
strExample = strVar
End Property

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

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

Public Property Get Version
Version = strVersion
End Property

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

Public Property Get Author
Author = strAuthor
End Property

'//----定义类的属性,该属性是返回用户自定义信息

Public Property Get Example
Example = strExample
End Property

End Class
%>
<%

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

Dim oneNewClass

Set oneNewClass = new myClass

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

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

Response.Write "用户自定义:" & oneNewClass.Example & "<br/>"

oneNewClass.Information

Set oneNewClass = Nothing

%>

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

[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 或属性名称相同的方式来返回属性的值。

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 过程的主体内执行。

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

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

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

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

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

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 过程主体中执行的任何一组语句。

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

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

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

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

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

时间: 2024-10-26 04:47:18

class Property Get、Property Let 使用说明的相关文章

JavaScript中遍历对象的property的3种方法介绍_javascript技巧

在JavaScript中,可以用三种方法来遍历对象的property: 1.for/in.可以使用for/in语句遍历对象自身的property(Own Property)及其从原型对象处继承的property,只有enumerable的property才会被遍历到. 2.Object.keys().可以将对象作为参数传入Object.keys(),Object.keys()语句将返回由所有property名称字符串所组成的数组.Object.keys()语句仅返回对象自身的(Own Prope

OC语言@property @synthesize和id

OC语言@property @synthesize和id 一.@property @synthesize关键字 注意:这两个关键字是编译器特性,让xcode可以自动生成getter和setter的声明和实现. (一)@property 关键字 @property 关键字可以自动生成某个成员变量的setter和getter方法的声明 @property int age; 编译时遇到这一行,则自动扩展成下面两句: - (void)setAge:(int)age; - (int)age; (二)@sy

在spring 配置文件&amp;amp;lt;bean&amp;amp;gt;节点里面怎么加不了&amp;amp;lt;property&amp;amp;gt;属性??

问题描述 <jee:jndi-lookup id="customerIDAO" jndi-name="com.yidu.idao.CustomerIDAO"></jee:jndi-lookup> <bean id="customerBIZ" class="com.yidu.biz.CustomerBIZ"><property name=""></prop

异步并行加载使用说明(asyncload)

背景  最近资讯asyncload使用的同学越来越多,会有些一些经常性的问题,这里我做一下整理和answer,同时介绍一下asyncload的UserGuide 和一些限制等.   关于asyncload,又名异步并行加载 ,可参见我之前的文章: (业务层)异步并行加载技术分析和设计 UserGuide篇 几个基本概念: 线程池 (定义异步处理的线程池模型,包括线程数,队列大小等) 匹配信息 (定义哪些方法需要实施,包括超时时间等) 匹配主体 (比如常见的service,dao等,需要进行异步并

ASP实例代码:asp操作Excel类

asp操作Excel类: <%'*******************************************************************'使用说明'Dim a'Set a=new CreateExcel'a.SavePath="x" '保存路径'a.SheetName="工作簿名称"       '多个工作表 a.SheetName=array("工作簿名称一","工作簿名称二")'a.Sh

在ASP中模拟.NET下的cache技术

cache 为了提高网站首页的性能,首页凡是需要调用数据库显示数据的地方都会先试图从缓存中调用数据,如果缓存中没有可用数据再打开数据库取出记录集,为了让页面显示数据和数据库在一定时间内同步,我们把缓存的过期时间设置成30秒. 声明:缓存管理类出自于动网论坛7.0 注意:最好不要在缓存里直接缓存带状态的对象和MTA模式的对象,比如说直接缓存记录集或者数据库链接对象等. <%Sub ShowRsArr(rsArr) '用表格显示记录集getrows生成的数组的表结构 ' Response.Write

蛙蛙推荐:asp中模拟.net中的cache

cache <!-- 为了提高网站首页的性能,首页凡是需要调用数据库显示数据的地方都会先试图从缓存中调用数据,如果缓存中没有可用数据再打开数据库取出记录集,为了让页面显示数据和数据库在一定时间内同步,我们把缓存的过期时间设置成30秒.声明:缓存管理类出自于动网论坛7.0注意:最好不要在缓存里直接缓存带状态的对象和MTA模式的对象,比如说直接缓存记录集或者数据库链接对象等.--><%Sub ShowRsArr(rsArr)'2005-1-27 by 蛙蛙王子'用表格显示记录集getrows

ASP通用分页类源码

分页 <%'==================================================================='XDOWNPAGE ASP版本'版本 1.00'Code by zykj2000'Email: zykj_2000@163.net'BBS: http://bbs.513soft.net'本程序可以免费使用.修改,希望我的程序能为您的工作带来方便'但请保留以上请息''程序特点'本程序主要是对数据分页的部分进行了封装,而数据显示部份完全由用户自定义,'

创建一个ASP通用分页类(二)代码部分

创建|分页 <%'====================================================================='XDOWNPAGE ASP版本'版本 1.00'Code by zykj2000'Email: zykj_2000@163.net'BBS: http://bbs.513soft.net'本程序可以免费使用.修改,希望我的程序能为您的工作带来方便'但请保留以上请息''程序特点'本程序主要是对数据分页的部分进行了封装,而数据显示部份完全由用户