VB中什么是类,类模块有什么作用

本文详细介绍了VB中的类和类模块,探讨了它们在编程中的作用,包括如何使用类模块进行对象创建、封装和代码复用。通过学习,读者将能够理解VB中类的概念,并能有效地应用到实际项目中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是类?
用面向对象的编程思想来看,类就是存储数据同时给一组相关代码赋予协调功能的方式。类是面向对象编程的核心。
VB最为人垢病的是它的面向对象特性。实际上VB是一种基于对象的开发工具。在VB中
建立的类是支持继承的。下面是范例:
首先建立一个新工程,然后添加一个新的类模块(Class Module),类名称设定为BaseClass。
然后在BaseClass中加入以下代码:
Public Sub BaseSub() '虚拟特性,BaseSub在子类中实现
End Sub
然后添加两个类模块,类名称分别设定为ImpClass以及ImpClass2,然后在类的代码窗口中写入:
Implements BaseClass '继承特性
上面这行代码说明类ImpClass以及ImpClass2实现类BaseClass。
在ImpClass窗口中加入以下代码:
Private Sub BaseClass_BaseSub() '实现基类中的BaseSub方法
    MsgBox "Hello. This is Imp. inherited from BaseClass"
End Sub
在ImpClass2中加入以下代码:
Private Sub BaseClass_BaseSub()
    MsgBox "Hello. This is Imp2. inherited from BaseClass"
End Sub
完成了上面的类代码后,打开Form1,在上面添加一个CommandButton,在按钮的Click事件中
写入以下代码:
Dim xImp As New ImpClass
Dim xIMp2 As New ImpClass2
Dim xBase As BaseClass
Set xBase = xImp '多态特性
xBase.BaseSub
Set xBase = xIMp2
xBase.BaseSub
Set xBase = Nothing
Set xImp = Nothing
Set xIMp2 = Nothing
运行程序,点击CommandButton,程序会先后弹出消息框,显示在ImpClass以及ImpClass2中
设定的消息。
从上面的代码中可以看到VB中是如何实现面向对象的特性:继承、虚拟以及多态的。只是同
诸如Java、C + + 、Object Pascal不同,VB将很多实现的细节隐藏了起来。
其它相关文章:
类是包含了方法、属性、数据成员的高级代码模块,它既在模块的范畴之内,又是一个没有图形界面的Active ocx,程序员可以象使用控件一样使用它,但却不能看到它,值得注意的是,类是不能继承的。
类能够使我们高效的完成对某一个或者某几个特定的对象的复杂操作,对象的动作就是类的方法,对象的属性就是类的属性过程。相对而言,如果编程的对象是一组事物,那么,我们采用标准模块的方式是非常合适的,在下列两种情况下,应该使用类进行代码处理:
  (1)创建大量性质相近的对象;
  (2)提高代码的封装性。
   类的创建非常简单,在进行代码编写的时候,在“工程”菜单中选择“添加类模块”项目,就可以添加一个空白的类。
   类文件一般以.cls作为扩展名保存。
(二)类的方法的实现;
  类的方法类似于动态链接库的接口函数,它能够接受其他窗体代码的指定类型参数,并且传递到类中。一般来说类的方法是能够指定是否有返回值的。它在类中通常是一个public过程。请看下面的代码示例,它使一个密码框拒绝非字母的输入:
(1)类cls的代码
Option Explicit'变量检查
Private WithEvents mytxt As TextBox
'本类中的方法接受和控制一个text密码框
Dim isNUM As Boolean
'类的模块级变量
Public Sub Attach(itTEXT As TextBox)
    '接受外部变量到mytxt中
    Set mytxt = itTEXT
End Sub
Private Sub mytxt_KeyUp(KeyCode As Integer, Shift As Integer)
    isNUM = (KeyCode >= 65) And (KeyCode <= 90)
    '测试密码框的键盘输入是否是英文字母
    If isNUM = False Then
        Beep
        mytxt.Text = ""
        '如果输入不是英文字母则响铃并且清空密码框内容
        MsgBox "非法字符输入!"
    End If
    Debug.Print mytxt.Text
    '调试输出密码框内容
End Sub
'类的代码结束
(2)类的引用
  已经编写完成的类可以经过两种格式进行引用,第一种方式:Private(public或者dim) myCLS(指定的类名) As New cls(编写完成的类名);第二种方式较多用于程序编写风格较“老”的程序员:首先在窗体代码中进行模块级声明——Dim myCLS As cls,然后在具体代码过程中进行具体定义—— Set mycls = New cls。这两种方式的效率和代码的简洁性方面可能会有所差别,但在笔者的编程实践中,并没有什么特别的感觉,不过我较多使用第一种方式,因为它书写起来更加方便。另外,在代码结束的时候,使用 Set myCLS = Nothing来取消类的资源占用是一种非常好的编程习惯。
在窗体form1中(窗体有一个密码框控件text1,passworldchar = "*")  添加以下代码:
Option Explicit
Private myCLS As New cl      '引用cls
Private Sub Form_Load()
    myCLS.Attach Text1         '启动类
End Sub
Private Sub Form_Unload(Cancel As Integer)    '在代码结束时记得释放资源
    Set myCLS = Nothing
    End
End Sub
 
 

VB相关


VB 读写TXT文本文件函数

VB 提取TextBox 文本框中指定一行字符串

VB 获取汉字拼音的首字母

1.VB是什么? VB是visual Basic的简称,即初学者通用符号代码,是很容易入门的语言,从BASIC发展而来。 2.学VB有什么用? VB是一门编程语言,所以能用VB做的很多很多,基本上除了底层开发(系统软件),VB都能做,而且在数据库应用方面VB也有他独到的一面。 3.如何学好VB(请详细说明) 这不是一句两句可以说清楚的。给你一个学习的过程: 3.1.入门,这段时间你应该学会VB的基本语法,基本语句和基本控件等。能够写一些简单的计算程序就算可以乐。比如写一个解1元2次方程的程序,写一个求解两数的最新公约数的程序等等。 3.2.开始做VB界面的一些东西,了解控件,窗体的使用,事件,方法、过程和函数等。 3.3 开始用设计VB程序。封装一个VB。学会VB的使用方法。 3.4 学习使用API增强程序的功能。 3.5 这是转入学习C语言,不一定要很强,能懂一些语法就行,当然能够深入的话,就可以转C++乐。 3.6 有乐C的基础,就可以去学习数据结构乐。数据结构很重要,一定要学好。 3.7 开始在VB里面尝试实现数据结构,比如做一个链表,vb没有指针,所以不能向c那样做链表,但我想这时候你应该知道怎么做乐。 3.8 开始尝试做游戏,做不同的程序,做自己想做的东西。 3.9 深入VBVB到了这个阶段,深入是很困难的了。需要API的帮助。做一些窗口回调,挂钩等程序。 4.0 你已经有相当的VB经验了,这时候要确定一个方向了,比如游戏编程directx,比如大数据量的数学计算,人工智能等等。。。 4.1 等等等 5.VB可以作什么程序? VB能做的太多了,除不不能开发ddk程序,不能开发sys,vxd其他的基本都能做。(呵呵,开发OS肯定不行了。) ,而用VB做个图书管理系统,医院管理系统等做毕业设计,是再快速和简便不过的了,功能也可以做的非常强大,现在好多流行软件也用VB开发。当然Delphi也很好使。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值