asp:Property解释与例子
=======================================================================
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 或属性名称相同的方式来返回属性的值。
例子:
Class myClass1
Public a1,a2
Public Property Get a3(ByVal a5)
a3=a5&" good"
End Property
End Class
Dim x
Set x=New myClass1
response.Write("x.a1+x.a2="&x.a3("中国")&"〈br〉")
x.a1=1
x.a2=2
Response.Write("x.a1="&x.a1&"〈br〉")
Response.Write("x.a2="&x.a2&"〈br〉")
运行结果为:
x.a1+x.a2=中国 good
x.a1=1
x.a2=2
对属性只读
==============================================================================
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过程只能用于属性赋值表达式的左侧。
例子:
Class myClass1
Public a1,a2
Public Property Let a3(ByVal a5)
a3=a5 & " good"
a1=a5
End Property
End Class
Dim x
Set x=New myClass1
x.a3=8
response.Write("x.a1+x.a2="&x.a1&"〈br〉")
x.a1=1
x.a2=2
Response.Write("x.a1="&x.a1&"〈br〉")
Response.Write("x.a2="&x.a2&"〈br〉")
运行结果为:
x.a1+x.a2=8
x.a1=1
x.a2=2
对属性只写,必须有一个参数用于接受外来的赋值
===================================================================================
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 语句)的左侧。
例子:
Class myClass1
Public a1,a2
Private a5
Public Property Set a3(reference)
Dim conn,connStr
connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("count.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connStr
reference.open "SELECT * FROM wenzi",conn,1,1
a5=reference.recordcount
conn.Close
Set conn=Nothing
End Property
Public Property Get a3()
a3=a5
End Property
End Class
Dim x
Set x=New myClass1
Set x.a3=server.CreateObject("ADODB.Recordset")
response.Write("x.a1+x.a2="&x.a3&"〈br〉")
x.a1=1
x.a2=2
Response.Write("x.a1="&x.a1&"〈br〉")
Response.Write("x.a2="&x.a2&"〈br〉")
运行结果:
x.a1+x.a2=21900
x.a1=1
x.a2=2
asp:Property解释与例子的更多相关文章
- PHP关于依赖注入(控制反转)的解释和例子说明
PHP关于依赖注入(控制反转)的解释和例子说明 发表于2年前(2014-03-20 10:12) 阅读(726) | 评论(1) 8人收藏此文章, 我要收藏 赞2 阿里云双11绽放在即 1111 ...
- OpenGL glMatrixMode() 函数解释与例子
概述 glMatrixMode() 用以指定当前要操作的矩阵,可选值有 GL_MODELVIEW(模型视图,默认值),GL_PROJECTION(投影),GL_TEXTURE(纹理),GL_COLOR ...
- asp.net正则表达式学习例子
asp.net 获取网页Document时常会用到 edited by:曹永思-博客园 1.获取某个class的div内的标签 获取<div class="imgList2" ...
- ASP.NET Zero--11.一个例子(4)商品分类管理-数据检验
虽然已经可以添加商品分类,但还需进行优化,比如:用户是否输入.输入字符串是否有格式限制等等. 打开添加分类按钮,名称不输入任何字符,直接保存,会发现列表添加一条空记录.在实际项目中,这是不允许出现的事 ...
- ASP.NET Zero--15.一个例子(8)商品分类管理-权限控制
1.添加权限常量 打开文件AppPermissions.cs [..\MyCompanyName.AbpZeroTemplate.Core\Authorization\AppPermissions.c ...
- For each...in / For...in / For...of 的解释与例子
1.For each...in for each...in 语句在对象属性的所有值上迭代指定的变量.对于每个不同的属性,执行一个指定的语句. 语法: for each (variable in obj ...
- asp.net Repeater使用例子,包括分页
<style type="text/css"> .tab{border-collapse:collapse; margin:0 auto;} .tab th ...
- [转]android中drawable资源的解释及例子
原文链接: http://blog.csdn.net/wode_dream/article/details/38584693 文章中的内容参考Dev Guide中的Drawable R ...
- 一些ServiceFabric、Orleans、Asp.net Aore的例子
Sample: ServiceFabric + Orleans + Asp.net Core : Asp.net Core 142 samples for ASP.NET Core 2.1 funda ...
随机推荐
- JS复习:第二十二章
一.高级函数 1.在任何值上调用Object原声的toString( )方法,都会返回一个[object NativeConstructorName]格式d字符串.每个类在内部都有一个[[Class] ...
- swift 学习线路
//从(GCD,动画,通知,KVO..) 到闭包 到单子 再到 promise ,再到 reactive //从可选类型 到可选绑定 ,隐私可选解包 ,动态绑定,nil 聚合运算符 再到可选链 再到S ...
- BZOJ2141: 排队
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2141 分块加树状数组. 离散化之后,每一个块建一个树状数组.交换x,y,与x左边的数和y右 ...
- 关于R语言的一些编程经验
一个晚上写出一个能用的程序…… 来说说遇见的问题吧 zqw<-read.table(file = "c:/data/zqw.txt") zqw<-data.frame( ...
- mac下安装composer
打开命令后 cd /usr/local/bin 然后执行 curl -sS https://getcomposer.org/installer | php 接下来 sudo mv composer.p ...
- linux下IPC通信
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用.进程的亲缘关系通常是指父子进程关系. # 有名管道 (named pipe) : 有名管道也 ...
- Linux中kettle启动spoon.sh遇到的问题
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAccAAAAYCAIAAAAAgaGrAAAE1klEQVR4nO1b2ZWrMAylLgpyPa7Gzb
- Java 算法
1.简单的冒泡排序 //冒泡算法一共两种 // -----冒泡算法(1) int a[]={23,69,4,58,1,20}; for (int i = 0; i < a.length-1; i ...
- 【编码问题】if,for语句与中文编码
1. 首先先来说说中文的问题.众所周知,作死的python经常和中文过不去 每次,开头必须声明 # coding: utf-8 或者是 # -*- coding: utf-8 -*- 然而,被坑过的 ...
- RegOpenKey(注册表定位器) 1.5 中文免费绿色版
软件名称: RegOpenKey(注册表定位器) 1.5 中文免费绿色版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP / Wi ...