在VBScript中使用类(二)

VBScript中使用类(2

 

创建对象

 

VBScript中创建对象类型(类)时,你首先要知道,这真的很容易!我在一个下午自学,只是阅读了Microsof VB Script 的参考书,但必须承认,这书不是最容易阅读的文档。

    初学者需要安装VBScript 5.0引擎,可以在Microsoft's Scripting Site下载。

我们来看代码。类的定义与函数和子过程非常类似。起始行为Class <MyClassName>,结尾是End Class,所有的对象定义写在中间部门。现在我们可以用所学的来建立第一个类,不实现任何功能的类。

Class 4GuysTestObject

End Class

 

     这看上去不是那么回事,但当你写入下面的代码后,你将创建一个对象的实例:

Dim objTestObject

Set objTestObject = New 4GuysTestObject

Set objTestObject = Nothing

 

    显然,我们现在还不能用对象做任何事,现在我将解释如何在对象中定义属性和方法。

    使用对象可以做的最基础的,是建立一组数据。例如,假如要将时间、日期及视频程序标题建立在一起,你可以创建一个包含属性“StartTime”, ProgramDate”和“ProgramTitle”的对象。代码如下:

Class TVProgram

               Public StartTime

               Public ProgramDate

               Public ProgramTitle

        End Class

 

        Dim objTVShow

        Set objTVShow = New TVProgram

 

        objTVShow.StartTime = CDate(" 17:30 ")

        objTVShow.ProgramDate = DateSerial(1999,9,17)

        objTVShow.ProgramTitle = "The Jerry Springer Show"

 

        Response.Write objTVShow.ProgramTitle & " is on at " & _

        objTVShow.StartTime & " on " & objTVShow.ProgramDate

 

代码工作的方式是,我们定义StartTimeProgramDateProgramTitle为类TVProgram的属性。这样,这些属性就像其他变量一样来处理,没有设置值则不会执行代码。属性名字前的Public字段有其真实含义,而且非常重要。如果你不特指一个方法或属性为public或private,系统默认值为public,但最好养成定义任何值的良好书写习惯(也方便你之后自己的阅读)。

    上面程序的结果大致如下(决定于你的本地服务器配置):

The Jerry Springer Show is on at 5:30pm on 17/09/99 .

 

    我在英国,所以日期现实如上。不论你跑什么工程,它的效果都不错,但只有你开始使用其他对象的功能,为你可能需要的所有信息和功能,创建一个完美的接口,以支持你所建对象包围的实体,你才会体会到对象的真正实力。

    现在,如果你不喜欢上面例子显示日期的方法,而希望以同一种格式现实日期,也没有不要在引用每个ProgramDate属性时加FormatDateTime(),你只需要将此类代码植入属性本身。

    这样需要用另一种方法定义属性。同样,我们将使用ProgramDate为外部可见属性,但因为ProgramDate属性将成为一个函数而不是静态值,我们将实际日期保存在另一个属性中internal_ProgramDate。

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 & "."

 

程序的结果如下:

The Jerry Springer Show is on at 5:30pm on 17 September 1999 .

 

 

感谢Sophie的翻译

如果有问题欢迎在http://www.showc.com中提出

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

asilas

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值