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、


相关文章
|
缓存 Windows
Windows程序设计——LoadImage参数及其用法
Windows程序设计——LoadImage参数及其用法
412 0
|
13天前
|
PHP 开发者
【PHP开发专栏】PHP函数定义与调用技巧
【4月更文挑战第29天】本文深入探讨了PHP函数的使用技巧,涵盖函数定义、参数传递、调用方式及高级技巧。PHP函数通过`function`关键字定义,支持默认参数值和可变参数。参数传递分为值传递(默认)和引用传递。函数调用包括普通调用、静态方法调用和匿名函数。高级技巧包括函数回调、模拟函数重载和递归调用。理解并熟练应用这些技巧能提升PHP开发效率和代码质量。
|
4月前
|
Linux
熟练使用文件操作类命令(3)
熟练使用文件操作类命令(3)。
42 2
|
4月前
熟练使用文件操作类命令(2)
熟练使用文件操作类命令(2)。
21 1
|
12月前
|
Linux C++ iOS开发
小秘技:怎样用python来获取各种DOS命令显示的内容?注意不是返回值哦!
小秘技:怎样用python来获取各种DOS命令显示的内容?注意不是返回值哦!
92 0
|
小程序 前端开发 JavaScript
小程序系列(第一节)
一、小程序是什么? 字面上讲,小程序就是微信里面的应用程序,外部代码通过小程序这种形式,在微信这个手机 App 里面运行。 但是,更准确的说法是, 小程序可以视为只能用微信打开和浏览的网站。 小程序和网页的技术模型是一样的,用到的 JavaScript 语言和 CSS 样式也是一样的,只是网页的 HTML 标签被稍微修改成了 WXML 标签。所以,小程序页面本质上就是网页。
124 0
C#基础知识学习之 ✨ “精神小伙“——委托(delegate) 的含义和用法
C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。 委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。 委托就是用来储存方法的结构 委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。
|
程序员 C#
C#基础知识学习之 ☀️ | 反射(Reflection) 的含义和用法
C# 反射(Reflection) 反射是.NET中的重要机制,通过反射可以得到*.exe或*.dll等程序集内部的接口、类、方法、字段、属性、特性等信息,还可以动态创建出类型实例并执行其中的方法。 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。
C#基础知识学习之 ☀️ | 反射(Reflection) 的含义和用法
|
缓存 安全 Java
JAVA编程不可不知的反射用法总结
Java反射是一种非常强大的机制,它可以在同一个系统中去检测内部的类的字段、方法和构造函数。它非常多的Java框架中,都大量应用了反射技术,如Hibernate和Spring。可以说,反射机制的特征让Java可以构建异常强大,具备柔性的系统。
457 0
JAVA编程不可不知的反射用法总结