[VIP专享]模块与类模块的区别5815.pdf
《[VIP专享]模块与类模块的区别5815.pdf》由会员分享,可在线阅读,更多相关《[VIP专享]模块与类模块的区别5815.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、模块与类模块的区别?VB 的代码存储在模块中。在 VB 中提供了三种类型的模块:窗体模块、标准模块和类模块。简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要执行的代码,为了在两个窗体中不产生重复代码,可创建一个独立的模块,用它实现代码公用。该独立模块即是标准模块。此外还可以建立包含共享代码与数据的类模块。每个标准模块、类模块和窗体模块可包含:声明。可将常数、类型、变量和动态链接库(DLL)过程的声明放在窗体、类或标准模块的声明部分。每个模块只有一个声明部分过程。每个模块可有多个过程,过程是划分 VB代码的
2、最小单元,每个过程是一个可执行的代码片段。VB 中主要有子过程、函数过程或者属性过程等各种模块类型1.窗体模块由于 VB 是面向对象的应用程序开发工具,所以应用程序的代码结构就是该程序在屏幕上表示的对应模型。根据定义,对象包含数据和代码。应用程序中的每个窗体都有一个相对应的窗体模块(文件扩展名为.frm)窗体模块是 VB 应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、自定义类型和外部过程的窗体级声明。写入窗体模块的代码是该窗体所属的具体应用程序专用的;也可以引用该程序内的其它窗体和对象每个窗体模块都包含事件过程,在事件过程中有为响应该事件而执行的程序段。窗体可包含控件
3、。在窗体模块中,对窗体上的每个控件都有一个对应的事件过程集。除了事件过程,窗体模块还可包含通用过程,它对来自该窗体中任何事件过程的调用都作出响应。2.标准模块标准模块是程序中的一个独立容器,包含全局变量、Function(函数)过程和 Sub 过程(子过程)。可将那些与特定窗体或控件无关的代码放入标准模块中。标准模块中包含应用程序内的允许其它模块访问的过程和声明。它们可以包含变量、常数、类型、外部过程和全局声明或模块级声明。写入标准模块的代码不必固定在特定的应用程序上;(1)使用标准模块在编写程序时,很可能会遇到一些使用相同变量和例程的窗体和事件过程。在缺省状态下,变量对于事件过程来说是局部的
4、,就是说仅能在创建这些变量的事件过程中读取或者修改变量。与之相似,事件过程对于创建它们的窗体来说也是局部。为了在工程中的所有窗体和事件中共享变量和过程,需要在该工程的一个或多个标准模块中对它们进行声明和定义。标准模块或代码模块是具有文件扩展名.bas,并包含能够在程序任何地方使用的变量和过程的特殊文件。正如窗体一样,标准模块被单 独列在 Project(工程)窗口内,并可通过使用 File(文件)菜单中的Save Modulel As 菜单项存盘。但是,与窗体不同,标准模块不包含对象或属性设置而只包含可在代码窗口中显示和编辑的代码。(2)创建标准模块如要在程序中创建新 的标准模块,那么单击工具
5、条 Add Form(添加窗体)按钮上的下箭头并单击 Mode(模块),或者单 击 Project(工程)菜单中的 Add Module(添加模块)菜单项。在工程中创建一个空的标准模块的步骤如下:S1:启动 VB,打开一个新的标准工程,单击工程 菜单中的 Add Module 菜单项,单击 Open 按钮。VB 在工程中增加一个名为 Module 的标准模块。该 模块对应的代码窗口被打开,对象和过程列表框的内容表明该 标准模块的通用声明已被打开。在此所声明的变量与过程 在整个程序都可以使用。S2:双击工程资源管理器窗口的标题条,以便能看到整个工程资源管理器窗口,S3:在 File(文件)菜单中
6、,单 击 Save Modulel AsS4:如果 D:/VB6sbs/less10 文件夹未被选择时,选择该文件夹,键入 MyTestMod.bas,然后按回车。该标准模块作为 MyTestMod.bas 文件保存到磁盘,并且可以通过 Project(工程)的 Add File 菜单项可将此文件通过其文件名加载到另一个工程中。S5:双击 Project(属性)窗口标题条。由于模块不包含对象,因此它惟一的属性就是 NameS6:将 Name 属性改为 modVariables,然后按 ENTER 键。(3)声明公用变量在标准模块中声明 全局变量十分简单,键入关键字 Public,后跟该 变量名
7、。缺省状态下,公用就量在模块中被声明为变体类型,但是可以通过使用 As 关键字来指定相应类型,可以把公用变量声明为某个指定的基本类型。3.类模块在 VB 中类模块是面向对象编程的基础。可以在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口用类模块创建对象,这些对象可被应用程序内的过程调用。标准模块只包含代码,而类模块包含代码又包含数据,可视为没有物理表示的控件。模块设计的考虑在 VB 中创建应用程序的最重要的部分是设计阶段。首先需要为应用程序设计一个用户界面,这个界面的设计比较容易确定。但设计代码的结构就是一项较
8、复杂的工作。构造应用程序的方法不同,可能会造成应用程序的性能以及代码的可维护性,可使用性不同。VB 应用程序呈层次结构。典型应用程序包括若干个模块:应用程序中每个窗体的窗体模块、共享代码的标准模块和类模块。每个模块包含若干含 有代码的过程:Event 过程,Sub 过程或 Function 过程及 Property 过程。在很多情况中都存在着多个对象共享的重复过程。这种情况最好创建一个共享的子过程,使大家都可以调用它。即使将来修改这些子程序,则只在一个地方修改就可进行全部修改,这将大大提高程序的可读性和可维护性。可以把所有的共享操作放在标准的模块中。标准模块标准模块(文件扩展名为.BAS)是应
9、用程序内其它模块访问的过程和声明的容器。它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上;如果不小心用名称引用窗体和控件,则在许多不同的应用程序中可以重用标准模块。类模块在 Visual Basic 中类模块(文件扩展名为 .CLS)是面向对象编程的基础。可在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件、可显示窗体窗口。momofufu检举给你简单举几个例子:-以下为模块内容 Public Sub test1(a As Integ
10、er,b As Integer)带参数的模块 MsgBox a+b End Sub Function test2(a As Integer,b As Integer)As Integer 有返回值的模块 test2=a+b 计算 a,b 相加的值返回结果 End Function 以下为窗体代码 3 个 command Private Sub Command1_Click()test1 5,6 使用 test1 模块 End Sub Private Sub Command2_Click()有返回值的模块使用 MsgBox test2(3,9)End Subvb 类模块如何使用模块内容.比如模块
11、名为 Global(Public)Sub AspToDll_Initialize()End Sub 类模块名为 MyclassPrivate Sub Class_Initialize()Set AspToDll_Object=Me 当类模块引用模块为名是 Me 而不是 Global AspToDll_Initialize End Sub 小弟新手不懂,帮忙解释下 lengxfy采纳率:47%4 级 2013.06.25检举Myclass 是一个类,类需要实例化才能使用 什么是实例化,我估计你不懂 这样理解,你把一个游戏装到电脑上,这个游戏就是一个类 你双击打开它,就算是一个实例,再打开一个,又
12、是一个实例 虽然你打开两次,但是两个游戏窗口是独立的,输了一个,不影响另一个,可能是赢的 你在模块中,首先要定义一个类的实例名,你的代码中是 AspToDll_Object 这里面的 ME,就是自己的意思,每个类被实例化了之后,就像一个人一样,有各种属性,Me 就是英语自己。就像刚才的两个游戏窗口,第一个里面可以叫自己是 A,第二个可以叫自己是 B,但是在自己的窗口说自己,就一定是 A 自己或者 B 自己,我说的不是网游,可以理解为一次性的游戏,打完输入玩家名字,记录成绩的那种 而在类里面调用模块内容,就很简单,直接调用模块中的函数名就行了 上面的代码中,是直接调用了初始化的函数 AspToD
13、ll_Initialize 类的化,需要名字.函数名。比如说,模块中调用 AspToDll_Object.函数名。类模块自己调用自己,就不需要了,直接写就行了,就像欠想动一下,只要脑子里面想一下就行了。而别人要你动,就要说,某某某,动一下。看明白了么?VB 类模块属性问题wkh2019 3 级 被浏览 5 次 2014.01.21为什么要用 LET 和 GET 来对属性进行处理呢?直接在类模块通用段声明不就行了吗?两者有什么分别?例如有模块 clsPnt 在通用声明 public x as integer 使用时可以用 Pnt.x=123 赋值同时也可以直接 Pnt.x 来获取 X 值 但为什
14、么我看到很多代码都是把 x 定义成 private,然后加 Let 方法来赋值,再用 Get 方法来获取呢?这样不是很麻烦么?检举这样可以防止不可预料的赋值求个 VB 类模块使用例子检举本示例演示了如何用类模块定义类(然后可以用它创建对象)。还将展示如何为新的类创建属性和方法并演示对象是如何创建和撤消的。打开一个新的“标准 EXE”工程,在“工程”菜单中选中“添加类模块”插入一个类模块。在窗体上画四个按钮。下表列出了本示例中要设置的对象属性值。对象 属性 设置值 Class 类模块 Name Thing Command1 Caption 显示该 Thing Command2 Caption 颠
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VIP专享 VIP 专享 模块 区别 5815
限制150内