vbs学习,书籍,看书笔记(4.1) 类基本语法,类的事件

简介: vbs学习,书籍,看书笔记(4.1) 类基本语法,类的事件

导航:


1.类的基本语法

2.类的事件


——————————————————————————————————————


1.类的基本语法

语法:

class

end class


Property Let、Property Get、Property Set

let与set其实都是接收类外放进来的信息,let接收的是值,set接收的是对象

Get是向外部传参数,有返回值也是有两种值与对象

见例子:


option explicit
class Custnam
  private mystrname
  public Property Let Custername(strname)  '通常由类外给类内的私有属性赋值,不是对象
  mystrname = strname
  end Property
  public Property Get Custername()     'get通常返回私有属性变量的值
  '1.返回常量
  Custername = mystrname    '这是返回普通属性也就相当于文字常量
  '2.返回对象(2种建议第一种明确)
  set Custername = mystrname      '第一种:如果是返回是的对象时要加上set  
  Custername = mystrname           '第二种也可以直接等于但是不明确
  end Property
  public Property Set Custername(strname)  '与get相似只不过这个是接收外部传进来的对象
  '也是有两种都可以
  set mystrname = strname   '或者mystrname = strname
  end Property
end class


总结来说:无论是传出去或者是接收进来,都可以直接相等,但是为了规范更加明确是否是对象,所以要加set


创建对象,且将对象传入到类中


dim objfso
dim objfilehelper
set objfso = wscript.createobject("scripting.filesystemobject")
set objfilehelper = new Custnam       '创建类
set objfilehelper.Custername = objfso '在外部传入对象时也要使用set


小案例:(传入类中名字,再调用类中get进行输出)


option explicit
dim Pername
dim name
name = inputbox("请输入您的姓名:")
set Pername = new Custnam    '创建类
Pername.Custername = name  '传入姓名
msgbox Pername.Custername   '打印出类中传出的姓名
class Custnam
  private mystrname
  public Property Let Custername(strname)  '通常由类外给类内的私有属性赋值,不是对象
  mystrname = strname
  msgbox "已传入类中姓名"
  end Property
  public Property Get Custername()     'get通常返回私有属性变量的值
    Custername = mystrname
  end Property
  public Property Set Custername(strname)  '与get相似只不过这个是接收外部传进来的对象
  set mystrname = strname   '或者mystrname = strname
  end Property
end class



——————————————————————————————————————


2.类的事件

class_initialize事件:实际上就是当创建类的时候自动执行的过程,不能多于一个

class_terminate事件:实际上就是当类结束时执行的过程,用于释放对象


写一个小例子:(通过类创建对象,并且调用类打开app)


option explicit
dim str
set str = new creatnam    '创建一个类
str.run_ap      '运行其中的过程
class creatnam
  private m_name
  private sub Class_Initialize
  set m_name = wscript.createobject("wscript.shell")
  msgbox "创建对象成功"
  end sub
  public sub run_ap
  m_name.run """D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"""
  end sub 
  private sub class_terminate
  set m_name = nothing 
  msgbox "释放对象"
  end sub 
end class


得到结果:在创建类的时候,创建对象以及释放对象同时进行,然后在打开app、


相关文章
|
存储 Java
Java包装类基本知识
Java包装类基本知识
73 0
简单实例应用(1)
简单实例应用(1)
简单实例-对比文件
简单实例-对比文件
|
Linux C++ iOS开发
小秘技:怎样用python来获取各种DOS命令显示的内容?注意不是返回值哦!
小秘技:怎样用python来获取各种DOS命令显示的内容?注意不是返回值哦!
140 0
|
前端开发 JavaScript C语言
带你读书之“红宝书”:第三章 语法基础(中)之 3.6. 流控制语句①
带你读书之“红宝书”:第三章 语法基础(中)之 3.6. 流控制语句①
99 0
带你读书之“红宝书”:第三章 语法基础(中)之 3.6. 流控制语句①
|
Java
java学习第十一天笔记-字符串220-学生管理系统2开始书写
java学习第十一天笔记-字符串220-学生管理系统2开始书写
88 0
|
Java
java学习第十一天笔记-字符串221-学生管理系统3开始书写
java学习第十一天笔记-字符串221-学生管理系统3开始书写
79 0
|
存储 SQL 数据安全/隐私保护
SQL存储过程的详细用法,不信你看不懂(下)
时不时有小伙伴私聊我这个存储过程怎么这么难啊? 说实话,我刚开始学SQL也觉得写存储过程可能是整个SQL开发中最难的了。因为存储过程简单起来可以只写一句SELECT就行,复杂起来写几天几夜也未必能写完(夸张了图片)。 但也不是说学不会,今天就给大家好好恶补一下存储过程的一些常规用法,一些非常规用法实在是太多了,这里就不一一列举了。
SQL存储过程的详细用法,不信你看不懂(下)
|
程序员 C#
C#基础知识学习之 ☀️ | 反射(Reflection) 的含义和用法
C# 反射(Reflection) 反射是.NET中的重要机制,通过反射可以得到*.exe或*.dll等程序集内部的接口、类、方法、字段、属性、特性等信息,还可以动态创建出类型实例并执行其中的方法。 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。
C#基础知识学习之 ☀️ | 反射(Reflection) 的含义和用法