当前位置: 首页 > news >正文

vb 模块和作用域的关系

模块

在VB中有三种类型的模块,分别是窗体模块、标准模块和类模块。

窗体模块

窗体模块中包含了窗体以及窗体中所有控件的事件过程,文件扩展名为(*.frm),窗体文件中不仅包含窗体对象的外观设计,也包含窗体模块(Form Module)。

标准模块

在一个工程中,某些代码要被多个窗体或设计器共同使用,就可以将这些代码存储在一个标准模块(Standard Module)中,其文件扩展名为(*.bas)。标准模块中只含有代码。程序一运行就加载模块,它的函数和变量是全局的,随时可以调用。

类模块

如果要创建自己定义的对象,就要首先创建一个类模块(Class Module)。类模块中包含了自定义的属性、方法和事件的定义及其实现。它是数据和代码的结合体,可以将其理解为是没有物理表现的控件。其文件扩展名为(*.cls)。类模块就是一个类,要实例化对象才能调用它的函数。

作用域

一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

变量的3种作用域:

1、单个过程:在一个过程中声明的变量,作用域只包含本过程,也可以称作 过程变量。

2、单个模块:在模块的第一个过程之前声明的变量,作用域包含本模块,也可以称作 模块变量。

3、所有模块:在任意一个模块的第一个过程之前使用Public声明的变量,作用域包含本工作簿的所有模块,也可以称作为 公共变量。

为什么窗体中无论是public,还是private都只在窗体内有效,而标准模块则不同

答案来源于标准模块的作用

简单的应用程序可以只有一个窗体,应用程序的所有代码都驻留在窗体模块中。而当应用程序庞大复杂时,就要另加窗体。最终可能会发现在几个窗体中都有要执行的公共代码。因为不希望在两个窗体中重复代码,所以要创建一个独立模块,它包含实现公共代码的过程。独立模块应为标准模块。此后可以建立一个包含共享过程的模块库。

http://www.lryc.cn/news/6097.html

相关文章:

  • Redis分布式锁
  • 京东前端经典面试题整理
  • django+mysql实现一个简单的web登录页面
  • python cartopy手动导入地图数据绘制底图/python地图上绘制散点图:Downloading:warnings/散点图添加图里标签
  • JavaScript中常用的数组方法
  • 磁疗为什么“没效果”?原来真相是这样!
  • 【直击招聘C++】5.1函数模板
  • 谈谈Java多线程离不开的AQS
  • 国际化语言,多语言三种方式
  • C++——哈希3|位图
  • 75 error
  • ESP-C3入门8. 连接WiFi并打印信息
  • 使用python将EXCEL表格中数据转存到数据库
  • 【C++】类和对象(三)
  • vTESTstudio - VT System CAPL Functions - General/Trigger Function
  • IDEA 快捷键
  • 2023新华为OD机试题 - 入栈出栈(JavaScript) | 刷完必过
  • 微信公众号扫码授权登录思路
  • 数据结构与算法基础-学习-10-线性表之顺序栈的清理、销毁、压栈、弹栈
  • Hazel游戏引擎(005)
  • 牛客网Python篇数据分析习题(四)
  • 盲盒如何创业?
  • 第1集丨Java中面向对象相关概念汇总
  • 高性能(二)
  • Allegro如何实现同一个屏幕界面分屏显示操作指导
  • 前后端一些下载与配置(第二篇 第10天过后)nuxt banner redis 短信服务
  • OSG三维渲染引擎编程学习之四十八:“第五章:OSG场景渲染” 之 “5.6 多重纹理映射”
  • 对Node.js 的理解?优缺点?应用场景?
  • Bean的生命周期
  • Python学习-----函数2.0(函数对象,名称空间,作用域-->全局变量与局部变量)