VB6不支持类的继承,有什么方法在VB6中实现类似的功能吗?

rexyudl 2002-12-06 10:33:02
希望有经验的人讲讲!!
...全文
36 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bu_wen 2003-05-05
  • 打赏
  • 举报
回复
vb6中可以实现接口继承,但不支持实现继承.不过可以变通一下用包含的方式实现相同的功能
你可以看下面的例子:

先建立一个新工程,然后添加一个新的类模块(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将很多实现的细节隐藏了起来。
chenyu5188 2003-05-05
  • 打赏
  • 举报
回复
将类封装成控件不就能使用了吗?!
go_my_sky 2003-05-05
  • 打赏
  • 举报
回复
我也在寻找答案

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧