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将很多实现的细节隐藏了起来。
建立的类是支持继承的。下面是范例: 首先建立一个新工程,然后添加一个新的类模块(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将很多实现的细节隐藏了起来。
解决方案 »
- VB 新手,清问一下object 是不是要引用什么部件啊。
- Replace函数应用 在线等!
- 在线求助!!ado连接oracle数据库报错
- 难道:vsFlexgrid列位置和按新列位置排序问题?
- 请教:关于报表打印中换行的问题
- 关于SetWindowPos?
- 江湖救急,请教VC与VB高手,
- 关于调换VB编写的工具栏界面???????????????????????????
- 关于数据库文件的保存问题,谢谢各位进来看看的同志!
- VB自定义函数的问题,大家帮帮忙吧!
- 用winsock控件设置client/server程序时,server端应怎样设置,请各位大虾帮帮小弟!!先谢了!
- 如何在CRYSTAL REPORT中实现“本页合计”,原来在VB版上相同的一篇文章给删掉了。
高手请指教,我的妹儿是[email protected]