创建对象
在vbscript中创建对象类型(类)时,你首先要知道,这真的很容易!我在一个下午自学,只是阅读了microsof vb script 的参考书,但必须承认,这书不是最容易阅读的文档。
初学者需要安装vbscript 5.0引擎,可以在microsoft's scripting site下载。
我们来看代码。类的定义与函数和子过程非常类似。起始行为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
代码工作的方式是,我们定义starttime,programdate和programtitle为类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.
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器