| 域名空间 下载中心 社区论坛 信息公告 MY小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
在VBScript中使用类(三)http://www.iyit.net 日期:2006-5-25 14:53:34 来源:网络转载 点击: |
Class TVProgram Public StartTime Public internal_ProgramDate Public Property Get ProgramDate ProgramDate = Day(internal_ProgramDate) & _ " " & MonthName(Month(internal_ProgramDate)) & _ " " & Year(internal_ProgramDate) End Property Public ProgramTitle End Class Dim objTVShow Set objTVShow = New TVProgram objTVShow.StartTime = CDate("17:30") objTVShow.internal_ProgramDate = DateSerial(1999,9,17) objTVShow.ProgramTitle = "The Jerry Springer Show" Response.Write objTVShow.ProgramTitle & " is on at " & _ objTVShow.StartTime & " on " & objTVShow.ProgramDate & "." 当调用对象的属性ProgramDate时,实际上执行了函数ProgramDate,即如上定义的函数,而很快你也将习惯这种在声明部分使用Public或Private关键字的方式。关键字“Property”,告知了编译器如同调用属性一样在外部调用函数。接着的“Get”,表明该函数是输出还是获得一个值。 Get的意思是“允许外部代码去‘获取’一个值”,与其类似的关键字还有“Let”和“Set”,但这两个比较复杂,因而我们以后再讨论。 接下去的代码看来有点难度的,给objectname.internal_ProgramDate赋值并通过objectname.ProgramDate来调用它。如果可以使用相同关键字同时为其赋值并获得它的值不是更好吗?当然,那也可以。 如果定义Get和Let属性的名称相同,可以将它们当作对象相同的属性,但这只限于它们定义了相同数量的成员。(以下代码看来不太相同,仅作为实例参考) Class TVProgram Public StartTime Public internal_ProgramDate Public Property Get ProgramDate ProgramDate = Day(internal_ProgramDate) & " " _ & MonthName(Month(internal_ProgramDate)) & _ " " & Year(internal_ProgramDate) End Property Public Property Let ProgramDate(ByVal varDateIn) internal_ProgramDate = CDate(varDateIn) End Property Public ProgramTitle End Class Dim objTVShow Set objTVShow = New TVProgram objTVShow.StartTime = CDate("17:30") objTVShow.ProgramDate = "17 Sept 99" objTVShow.ProgramTitle = "The Jerry Springer Show" Response.Write objTVShow.ProgramTitle & " is on at " & _ objTVShow.StartTime & " on " & objTVShow.ProgramDate & "." 以上代码中Let的声明部分看来似乎是一个多余的元素,当我第一次看到时研究了很长时间。每次我使用“0”作为变量用在每个属性上,我总是得到这个错误信息,“元素数量必须相等”。“它们确实相等!”抓狂之后,我回过头去看程序才觉得自己的愚蠢!:) 原因是,当你试图为ProgramDate赋值时,你会使用这样一行程序: objTVShow.ProgramDate = dtmMyDate 为了方便,等号右边的值(这里指dtmMyDate)作为了一个程元赋给了函数。因此编译器可能会认为在Get ProgramDate行有0程元,而Let ProgramDate却多一个!分配的值总是被略过而作为属性的最后一个程元,所以即使你使用其他程元,所赋的值总是作为最后一个程元。 现在看程序。无论通过ProgramDate设置日期为文本形式,还是用internal_ProgramDate译成日期变量,程序都没有问题。但能不能只使用一个入口呢? 如果internal_ProgramDate只能在内部有效,而使用Let ProgramDate检查传输的数据类型,我们就可以作出选择。例如: Class TVProgram Public StartTime Private internal_ProgramDate Public Property Get ProgramDate ProgramDate = Day(internal_ProgramDate) & " " & _ MonthName(Month(internal_ProgramDate)) & _ " " & Year(internal_ProgramDate) End Property Public Property Let ProgramDate(ByVal varDateIn) If IsDate(varDateIn) Then internal_ProgramDate = varDateIn Else 'Place some error handling code in here. End If End Property Public ProgramTitle End Class 并同样声明StartTime属性: Class TVProgram Private internal_StartTime Public Property Get StartTime StartTime = Hour(internal_StartTime) & ":" _ & Minute(internal_StartTime) End Property Public Property Let StartTime(ByVal varTimeIn) If IsDate(varTimeIn) Then internal_StartTime = varTimeIn End If End Property Private internal_ProgramDate Public Property Get ProgramDate ProgramDate = Day(internal_ProgramDate) & " " _ & MonthName(Month(internal_ProgramDate)) & _ " " & Year(internal_ProgramDate) End Property Public Property Let ProgramDate(ByVal varDateIn) If IsDate(varDateIn) Then internal_ProgramDate = varDateIn End If End Property Public ProgramTitle End Class ... 现在的代码离我们想要的还是有些不太实用,我们将在其他页使用类TVProgram,因此最好将其独立定义,以便所有也面都可以调用。我们将在第四部分讨论这点。 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:在VBScript中使用类(四) 下一篇:VS .net 2003调试javascript中两个杂症的解决 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||