首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > vbScript >

在VBScript中应用对象

2012-11-10 
在VBScript中使用对象工作需要,用vbs写了个小工具,回归原始了一把。 鉴于本人长期使用java,与对象异常亲热。

在VBScript中使用对象

工作需要,用vbs写了个小工具,回归原始了一把。 鉴于本人长期使用java,与对象异常亲热。 今天也试了下在VBScript中使用对象,感觉不错!有兴趣的朋友可以自己试试 在VBScript中应用对象

?

[一] VBScript对象声明

Class ClassName ' Fields, Functions, Properties go here.End Class

?

其中ClassName为类名,创建对象的语句也很简单,即: Set obj = new ClassName

?

?

?

[二] 对象中的成员

?

常用的即public成员与private成员,private成员只能在类内部可见。 以Person类为例,我们定义了如下4个成员变量。私有变量前加"m_"为VBScript通常的命名规约。

?

?

?

?

Class Person    public name    private m_age    private m_gender    private m_bestFriendEnd Class

?

?

?外部调用public变量时,可直接用.[变量名], 若我们想为Person定义名字为John,即:

Set John = new Person

John.name = "John"

?

[三] 对象中Properties的Let, Set与Get

?

在VBScript脚本中,我们通常把成员变量称之为Properties,我们可以为它定义Let, Set, Get Procedure。 由于我们经常会将变量设为private的,因此这三个方法就显得很重要了。 其中若Property为普通变量,则用Let进行设值,若为对象则需要定义Set。 取值直接用Get。

Class Personpublic nameprivate m_ageprivate m_genderprivate m_bestFriend'==========================================================================' Name: age' Summary: Let & Get method m_age'==========================================================================public Property Get age() age = m_ageEnd Propertypublic Property Let age(intAge) m_age = intAgeEnd Property'==========================================================================' Name: gender' Summary: Let & Get method m_gender'==========================================================================public Property Get gender() gender = m_genderEnd Propertypublic Property Let gender(strGender) m_gender = strGenderEnd Property '==========================================================================' Name: bestFriend' Summary: Set & Get method m_bestFriend'==========================================================================public Property Get bestFriend() Set bestFriend = m_bestFriendEnd Propertypublic Property Set bestFriend(objFriend) Set m_bestFriend = objFriendEnd Property End Class

?

?

调用Let/Set/Get, 例子如下:

Set John = new Person

John.name = "John"

John.age = 25

John.gender = "Male"

?

Set Annie = new Person

Annie.name = "Annie"

Annie.age = 23

Annie.gender = "Female"

?

Set John.bestFriend = Annie

wscript.echo "John's best friend: " & John.bestFriend.name

?

[四] 对象中定义函数

?

与java/c++一样VBScript也支持在对象内部定义函数。 格式与用法都很简单。 给个加好友的例子。

Class Personpublic nameprivate m_friends'==========================================================================' Name: addFriend' Summary: Add a friend to Person'==========================================================================Public Function addFriend(objFriend) If (NOT IsEmpty(m_friends)) Then ' Use Preserve keyword to avoid erasing while Redim. ReDim Preserve m_friends(UBound(m_friends) + 1) Else ReDim m_friends(0) End If ' Add Friend Set m_friends(UBound(m_friends)) = objFriendEnd Function '==========================================================================' Name: getFriends' Summary: Get all the friends'==========================================================================Public Function getFriends() getFriends = m_friendsEnd FunctionEnd Class

?

?

测试例子:

Set John = new Person

John.name = "John"

Set Annie = new Person

Annie.name = "Annie"

Set Michael= new Person

Annie.name = "Michael"

?

John.addFriend(Annie)

John.addFriend(Michael)

?

wscript.echo "John has " & UBound(John.getFriends()) + 1 & " friends."

?

?

1 楼 youyudetufei 2010-10-12   学习啦啊! 

热点排行