VBS面向对象编程与Me关键字使用介绍
程序员文章站
2022-03-21 11:29:49
vbs 是一种很简单的脚本语言,正因为简单,所以仅仅支持面向对象的很小一部分特性。 其他面向对象的编程语言通常使用 this 或者 self 关键字来访问当前对象,而 vb...
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
其他面向对象的编程语言通常使用 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
原文:http://demon.tw/programming/vbs-me-keyword.html