第一章-认识VB的类模块

作者在 2010-04-29 17:44:08 发布以下内容

本文可以随便转载,但不能用于商业目的。请注明出处及版权。作者:ioriliao 版权所有:ioriliao   

    类模块是.cls文件,主要用于定义类和设计ActiveX   EXEActiveX   DLL。类模块和标准模块的比较 类模块和标准模块的不同点在于存储数据方法的不同。标准模块的数据只有一个备份。这意味着标准模块中一个公共变量的值改变以后,在后面的程序中再读取该变量时,它将得到同一个值。 而类模块的数据,是相对于类实例(也就是,由类创建的每一对象)而独立存在的。 同样的,标准模块中的数据在程序作用域内存在,也就是说,它存在于程序的存活期中;而类实例中的数据只存在于对象的存活期,它随对象的创建而创建,随对象的撤消而消失。 最后,当变量在标准模块中声明为 Public 时,则它在工程中任何地方都是可见的;而类模块中的 Public 变量,只有当对象变量含有对某一类实例的引用时才能访问 。后面我们将会用实例演示类模块与标准模块的区别。我们现在看看如何建立一个类模块。第一种方法是在标准工程中添加类模块,选择依次点击主菜单上的工程--添加类模块(C)如图所示

随后弹出一个添加类模块的对话框,如下图所示,我们选择"类模块,点击打开按钮。

 

我们会发现工程中多了类模块及类属性这一部分,如果下图红色圆圈所示:

接着我们来了解下类的属性,类的属性有三个,分别是(名称)NameDataBindingBehavior、DataSourceBehavior
我们现在只须理解名称属性则可,名称属性,顾名思义是类的名字,类默认的名字是Class1理所当然这个默认的名称对我们来说是没有什么意义的,要改成我们想要的名字,比如Person,那么就是说我们定义了一个类别,名字叫Person(人),我们姑且称之为人类。那么是人就有名字,有年龄,有性别属性等,还有行,走,坐等行为。接下来我们将描述如何表现这些属性和动作。


    到目前为止,大家都应该学会了如何添加一个类模块和修改类模块的名字,接下来将我们将演示如何为类添加属性和行为。

我们现在新建一个标准工程,之后添加一个类模块,修改类模块的名字为Person,如下图所示:

 

接着双击工程管理器中类模块的Person类就会打开代码编辑器,如下图所示:

 

现在我们编写以下代码:

Public name As String  '人的名字
Public sex As String   '人的姓别

Public Sub run()       '人走的动作
    MsgBox "我正在五十米跑呢"
End Sub

Public Sub say()   '人说话的动作
    MsgBox "我的名字叫:" & name & "   " & "性别是:" & sex
End Sub

 

然后在form1的click事件添加以下代码:

Private Sub Form_Click()
    Dim zhang As New Person
    zhang.name = "张三"
    zhang.sex = ""
    zhang.run
    zhang.say
End Sub
完整的工程下载: http://bbs.bccn.net/viewthread.php?tid=304883&extra=page%3D1&frombbs=1

zhang是Person的一个实例,什么叫实例呢,比如Person表示的是人类,是一个概念上的东西,zhang是一个实实在在的人,他属于人类,所以说zhang是Person的一个实例-实际的例子。 我们亦称这个人是一个对象,即zhang是一个对象。

VB高级编程 | 阅读 4983 次
文章评论,共5条
风吹过b
2010-04-30 08:04
1
这是最简单的类定义.<br />
<br />
不过,VB类,使用之前,最好是规划一下,然后使用 VB类向导来 生成类的代码构架,<br />
然后再自己到里面增加所需的功能.<br />
<br />
类的属性,有二个,一种是使用 public 定义,直接访问,访问时类里面不进行操作的.<br />
另一类是 private 定义,使用 get ,put 来访问,访问时,类里面可以做进一步操作的,<br />
如给值时,执行某个过程...
nbaqqqq
2010-06-06 20:34
2
运行不了
ioriliao(作者)
2010-06-08 08:00
3
<div class="quote"><span class="q"><b>nbaqqqq</b>: 运行不了</span></div>提示什么错误呢?把你的工程发上来看看。
nbaqqqq
2010-06-11 17:29
4
提示对象或with块未设置,工程从你这里下的。
ioriliao(作者)
2010-06-12 07:41
5
<div class="quote"><span class="q"><b>nbaqqqq</b>: 提示对象或with块未设置,工程从你这里下的。</span></div>不好意思,我上传错了工程源码,你和我博客这里对照下就知道了,是这一句错了:<br />
Dim zhang As Person<br />
应该修改为Dim zhang As New Person<br />
我现在去把上传的工程修改下。谢谢你指出的错误!
游客请输入验证码
浏览28058次