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

原文:http://demon.tw/programming/vbs-me-keyword.html

(0)

相关推荐

  • VBS面向对象编程与Me关键字使用介绍

    VBS 是一种很简单的脚本语言,正因为简单,所以仅仅支持面向对象的很小一部分特性. 其他面向对象的编程语言通常使用 this 或者 self 关键字来访问当前对象,而 VBS 使用的是 Me 关键字.Me 关键字代表着类在代码运行时的当前实例(instance),或者说,当前对象(object). 对象是类的一个实例.同一个类可以实例化很多个具有相同属性和方法的对象,但是每个对象是唯一的,它们的成员变量并不一样.这些成员变量通过对象引用来访问.在类的外部,每个对象都由储存着对象引用的变量来标识:

  • VBS类构造函数与Default关键字使用介绍

    其实 MSDN 的 VBScript 文档中关于 Function 和 Sub 语句的部分提到过 Default 关键字: 复制代码 代码如下: Default Used only with the Public keyword in a Class block to indicate that the Function procedure is the default method for the class. An error occurs if more than one Default

  • Java面向对象编程中final关键字的使用方法详解

    在Java中通过final关键字来声明对象具有不变性(immutable),这里的对象包括变量,方法,类,与C++中的const关键字效果类似. immutable指对象在创建之后,状态无法被改变 可以从三个角度考虑使用final关键字: 代码本身:不希望final描述的对象所表现的含义被改变 安全:final对象具有只读属性,是线程安全的 效率:无法修改final对象本身,对其引用的操作更为高效 final 变量 定义final Object a,则a只能被初始化一次,一旦初始化,a的数据无法

  • JavaScript面向对象编程入门教程

    尽管面向对象JavaScript与其他语言相比之下存在差异,并由此引发了一些争论,但毋庸置疑,JavaScript具有强大的面向对象编程能力 本文先从介绍面向对象编程开始,然后回顾JavaScript对象模型,最后演示JavaScript中的面向对象编程概念. JavaScript回顾 如果你对诸如变量(variables).类型(types).函数(functions).以及作用域(scope)等JavaScript概念觉得心里没底,那么你可以阅读重新介绍JavaScript中的这些主题.你还

  • JS面向对象编程基础篇(三) 继承操作实例详解

    本文实例讲述了JS面向对象编程继承操作.分享给大家供大家参考,具体如下: 构造函数的继承 上一篇JS面向对象编程封装操作,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继承"的五种方法. 比如,现在有一个"动物"对象的构造函数. function Animal(){ this.species = "动物";     this.action="吃" } 还有一个&

  • 理解Java面向对象编程设计

    目录 1 前言 2 结构化程序设计 3 面向对象编程设计 4 码农洞见 4.1 两种编程范式之间的区别 4.2 两种编程范式之间的联系 1 前言 计算机革命的起源来自机器.编程语言就像是那台机器.它不仅是我们思维放大的工具与另一种表达媒介,更像是我们思想的一部分.语言的灵感来自其他形式的表达,如写作,绘画,雕塑,动画和电影制作.编程语言就是创建应用程序的思想结构. 面向对象编程(Object-Oriented Programming OOP)是一种编程思维方式和编码架构. 2 结构化程序设计 结

  • Javascript oop设计模式 面向对象编程简单实例介绍

    Javascript oop设计模式 面向对象编程 最初我们写js代码的时候是这么写 function checkName(){ //验证姓名 } function checkEmail(){ //验证邮箱 } function checkPassword(){ //验证密码 } 这种方式会造成全局变量的严重污染,再过渡到 var checkObject = { checkName : function(){}; checkEmail: function(){}; checkPassword:

  • 再谈javascript面向对象编程

    另外这篇文章是一篇入门文章,我也是才开始学习Javascript,有一点心得,才想写一篇这样文章,文章中难免有错误的地方,还请各位不吝吐槽指正 吐槽Javascript 初次接触Javascript,这门语言的确会让很多正规军感到诸多的不适,这种不适来自于Javascript的语法的简练和不严谨,这种不适也来自Javascript这个悲催的名称,我在想网景公司的Javascript设计者在给他起名称那天一定是脑壳进水了,让Javascript这么多年来受了这么多不白之冤,人们都认为他是Java的

  • Python面向对象编程基础解析(一)

    1.什么是面向对象 面向对象(oop)是一种抽象的方法来理解这个世界,世间万物都可以抽象成一个对象,一切事物都是由对象构成的.应用在编程中,是一种开发程序的方法,它将对象作为程序的基本单元. 2.面向对象与面向过程的区别 我们之前已经介绍过面向过程了,面向过程的核心在'过程'二字,过程就是解决问题的步骤,面向过程的方法设计程序就像是在设计一条流水线,是一种机械式的思维方式 优点:复杂的问题简单化,流程化 缺点:扩展性差 主要应用场景有:Linux内核,git,以及http服务 面向对象的程序设计

  • Python面向对象编程中的类和对象学习教程

    Python中一切都是对象.类提供了创建新类型对象的机制.这篇教程中,我们不谈类和面向对象的基本知识,而专注在更好地理解Python面向对象编程上.假设我们使用新风格的python类,它们继承自object父类. 定义类 class 语句可以定义一系列的属性.变量.方法,他们被该类的实例对象所共享.下面给出一个简单类定义: class Account(object): num_accounts = 0 def __init__(self, name, balance): self.name =

随机推荐