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、


相关文章
|
C++ Windows
[笔记]Windows核心编程《番外篇》几种常见的执行命令行方法
[笔记]Windows核心编程《番外篇》几种常见的执行命令行方法
121 0
|
8月前
|
机器学习/深度学习 算法 索引
Python函数、类和对象、流程控制语句if-else while的讲解及演示(图文解释 附源码)
Python函数、类和对象、流程控制语句if-else while的讲解及演示(图文解释 附源码)
71 0
|
Java Kotlin
开心档-软件开发入门之​Kotlin 条件控制
开心档-软件开发入门之​Kotlin 条件控制
39 0
|
前端开发 JavaScript C语言
带你读书之“红宝书”:第三章 语法基础(中)之 3.6. 流控制语句①
带你读书之“红宝书”:第三章 语法基础(中)之 3.6. 流控制语句①
105 0
带你读书之“红宝书”:第三章 语法基础(中)之 3.6. 流控制语句①
|
Java
java学习第四天笔记-流程控制语句-分支结构67-if的第三种格式和练习
java学习第四天笔记-流程控制语句-分支结构67-if的第三种格式和练习
74 0
java学习第四天笔记-流程控制语句-分支结构67-if的第三种格式和练习
|
Java
java学习第四天笔记-流程控制语句-分支结构67-if的第二种格式和练习
java学习第四天笔记-流程控制语句-分支结构67-if的第二种格式和练习
68 0
java学习第四天笔记-流程控制语句-分支结构67-if的第二种格式和练习
|
Java
java学习第三天笔记-流程控制语句-分支结构67-if的第二种格式
java学习第三天笔记-流程控制语句-分支结构67-if的第二种格式
91 0
java学习第三天笔记-流程控制语句-分支结构67-if的第二种格式
|
Java
java学习第三天笔记-流程控制语句-分支结构66-if的第二种格式
java学习第三天笔记-流程控制语句-分支结构66-if的第二种格式
83 0
java学习第三天笔记-流程控制语句-分支结构66-if的第二种格式
|
Java
java学习第四天笔记-流程控制语句-分支结构73-switch的扩展知识点
java学习第四天笔记-流程控制语句-分支结构73-switch的扩展知识点
85 0
java学习第四天笔记-流程控制语句-分支结构73-switch的扩展知识点
|
Java
java学习第四天笔记-流程控制语句-分支结构71-switch的扩展知识点和练习
java学习第四天笔记-流程控制语句-分支结构71-switch的扩展知识点和练习
89 0
java学习第四天笔记-流程控制语句-分支结构71-switch的扩展知识点和练习