| 您的位置: >> 相关知识 >> 开发技术 >> 精典的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 = '属性值' 就会出错,因为这时候函数只可读 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "凌风微型文章系统",针对"搜索引擎"完美设计,提高"搜索引擎"对网站容量,质量的评估值,"扁平化,转静态 ..." |