网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月22日漏签0天
vb吧 关注:156,086贴子:1,166,229
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 下一页 尾页
  • 45回复贴,共2页
  • ,跳到 页  
<<返回vb吧
>0< 加载中...

【高级技术】VB6.0实现类的继承

  • 只看楼主
  • 收藏

  • 回复
  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
很多人都说VB6.0是不支持类的继承的,实际上不是这样的。
VB6.0之所以是面向对象编程,是因为它支持面向对象编程中的所有概念,包括类的继承。
下面就说说如何在VB中实现类的继承,希望对大家有帮助,高手莫喷。


  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
首先要搞清什么是类的继承? “继承”是面向对象软件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,另外,还可以为子类追加新的属性和方法。 很多语言是支持类的继承。
其实VB6.0也是支持的,只不过知道的人不多而已。


2025-08-22 13:47:59
广告
不感兴趣
开通SVIP免广告
  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
举个例子吧:
“人”是一个类,“学生”也算是一个类,“教师”也是一个类
学生是人,教师也是人,所以学生、教师都是人的子类,也就是学生、教师继承了“人”
所以如果人有“吃饭”这个方法,那么学生、教师也有吃饭这个方法。但是通常父类的属性方法在子类中不是完全相同的:
人有“吃饭”这个方法,但学生是吃学生餐,教师是吃教师餐,这是不同的



  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以下程序源码下载地址:
http://pan.baidu.com/share/link?shareid=2439&uk=1728071942


  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那么怎样在VB中实现类的继承呢?首先建立一个工程,删除Form1,
添加3个类模块,分别改名为学生,教师,人
首先在“人”这个类模块中添加吃饭方法,如下语句
Sub 吃饭()
End Sub
中间无需添加任何语句,因为学生、教师一个吃的是学生餐、一个是教师餐,我们等会会在这两个类中分别实现这个方法


  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
打开"学生"类模块
因为“学生”继承了“人”,所以我们开头写如下语句
Implements 人
这个语句表示这个类是继承了“人”这个类模块
然后你会发现,上方的“通用”列表框中出现了“人”(就像窗体代码中的控件事件一样)
单击这个"人",然后弹出这样几行字:
Private Sub 人_吃饭()
End Sub
这就是继承了人的吃饭这个方法。
我们在中间输入这行语句模拟吃饭
Msgbox "我吃完学生餐了"



  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
同样我们在教师这个模块写这些语句

Implements 人
Private Sub 人_吃饭()
MsgBox "我吃完教师餐了"
End Sub


  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
另外,学生除了有吃饭这个方法,还有自己的方法(学习)。
这样,在学生类模块中再加入如下语句:
Sub 学习()
MsgBox "学习完毕"
End Sub


2025-08-22 13:41:59
广告
不感兴趣
开通SVIP免广告
  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那么VB中的继承怎样体现呢?
在VB中,可以把一个子类对象赋值给父类对象变量并通过父类对象变量调用子类对象继承的方法、属性
也就是说,以下语句正确:
Dim 学生1 As New 学生
Dim 人1 As 人
Set 人1 = 学生1
人1.吃饭
但是 人1.学习 这种写法是错误的,因为学生并未继承这个方法,这是学生自己的方法


  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我们添加一个模块,写下如下语句
Sub 叫人吃饭(要叫的人 As 人)
要叫的人.吃饭
End Sub
再添加一个方法
Sub 叫学生学习(要叫的学生 As 学生)
要叫的学生.学习
End Sub


  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在这个模块中再创建一个启动过程:
Sub Main()
Dim 学生1 As New 学生
Dim 教师1 As New 教师
叫人吃饭 学生1
叫人吃饭 教师1
叫学生学习 学生1
End Sub

然后运行你可以发现,先显示吃完学生餐,再显示吃完教师餐,再显示学习完毕
这是因为先后把"学生1"、"教师1"赋值给了"叫人吃饭"过程中的"要叫的人"
虽然“要叫的人”是“人”类的,但学生类和教师类都继承了人类,所以便分别调用的学生和教师的吃饭方法
最后显示学习完毕,是因为学生类虽然继承了人类,但它自己有学习方法,因此仍然可以调用


  • wucaibinfen1
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好了,相信你已经掌握了VB6.0类的继承,希望能给你一些帮助


  • 13318513339
  • 简易程序
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这。。。这个关键字微软官方怎么没有?


  • 13318513339
  • 简易程序
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
哦,是通过接口来实现继承?


2025-08-22 13:35:59
广告
不感兴趣
开通SVIP免广告
  • Zatans
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我就不吐糟VB6里的继承了.


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 45回复贴,共2页
  • ,跳到 页  
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示