VBS面向对象编程与Me关键字

标签: , , , , ,

VBS 是一种很简单的脚本语言,正因为简单,所以仅仅支持面向对象的很小一部分特性。

其他面向对象的编程语言通常使用 this 或者 self 关键字来访问当前对象,而 VBS 使用的是 Me 关键字。Me 关键字代表着类在代码运行时的当前实例(instance),或者说,当前对象(object)。

对象是类的一个实例。同一个类可以实例化很多个具有相同属性和方法的对象,但是每个对象是唯一的,它们的成员变量并不一样。这些成员变量通过对象引用来访问。在类的外部,每个对象都由储存着对象引用的变量来标识;在类的内部,这个变量无法被访问,但是 VBScript 在内部会跟踪哪个对象正在执行类的属性或者方法,并通过 Me 关键字是这些信息可以获得。

一个简单的类:

Class myClass
    Private i_count
    Public Property Get count
        count = i_count
    End Property
    Public Property Let count(c)
        i_count = c
    End Property
End Class

在这个例子中,声明了一个私有变量,这个变量可以在类的内部引用。但是,有时候,当我们访问一个变量时,我们希望一段代码被执行。

使用 Me 关键字:

Class myClass
    Private i_count
    Public Property Get count
        i_count = i_count + 1
        count = i_count
    End Property
    'Demon注:
    '其实这里纯粹是为了使用Me而使用Me
    '直接countTwice = count + count更简单
    Public Property Get countTwice
        countTwice = Me.count + Me.count
    End Property
    Public Property Let count(c)
        i_count = c
    End Property
End Class

在这个例子中,每次访问 count 属性时它都会被加上1。

参考链接:Self-referencing in VBScript

参考链接:VbScript Me Keyword

赞赏

微信赞赏支付宝赞赏

随机文章:

  1. WMI入门教程:第三部分
  2. 验证IPv4地址的正则表达式
  3. MulDiv函数
  4. 用VBS判断无BOM头的文件是否UTF-8编码
  5. WMI工具:WMI Code Creator v1.0

一条评论 发表在“VBS面向对象编程与Me关键字”上

  1. ivy说道:

    vbs和VB差别好大。。。

留下回复