VB6 继承类如何调用基类的方法?
答案:4 悬赏:20 手机版
解决时间 2021-03-23 11:51
- 提问者网友:王者佥
- 2021-03-23 03:09
VB6 继承类如何调用基类的方法?
最佳答案
- 五星知识达人网友:罪歌
- 2021-03-23 04:29
有两种方法:
1.使用Me,这是最简单的;Me相当于this
2.使用实例的地址,要调用copymemory获得,这方法过去在不知道me的时候,在一个老外的代码里看到用过,一样可以,但还是别用了吧。追问这些歪招可能有效,却背离了从一个基本类扩展新的类的初衷,代码变得更混乱了,你说呢?追答晕死,vb6本身只有类模块和接口继承,没有类继承,否则也不会有vb.net了,me就是类模块里的this指针,不懂别瞎评论,如果想调用基类,只能通过保存基类地址的方法来进行调用,vb里的基地址就是me。既然要用vb就别想这面向对象那一套,因为它根本就不是一门面向对象的语言,如果强用,只能用非正常方法来模拟类的存储机制。另外代码是否混乱是和设计分不开的,和你是否用了类没关系。面向对象方法只是给你一个好的工具,做成什么产品,还要看自己追问谢谢!
有误解,我的本意是要在子类成员函数中调用父类方法,因而认为在子类中调用父类"me"要么不可能,要么很麻烦;除非用来取地址作参数,否则我不赞同用copymemory,用来取基类地址也算不得已的技巧了。
果如你所说VB6不存在真正继承,我若还要七拐八弯地仿造,那就得不偿失了。
1.使用Me,这是最简单的;Me相当于this
2.使用实例的地址,要调用copymemory获得,这方法过去在不知道me的时候,在一个老外的代码里看到用过,一样可以,但还是别用了吧。追问这些歪招可能有效,却背离了从一个基本类扩展新的类的初衷,代码变得更混乱了,你说呢?追答晕死,vb6本身只有类模块和接口继承,没有类继承,否则也不会有vb.net了,me就是类模块里的this指针,不懂别瞎评论,如果想调用基类,只能通过保存基类地址的方法来进行调用,vb里的基地址就是me。既然要用vb就别想这面向对象那一套,因为它根本就不是一门面向对象的语言,如果强用,只能用非正常方法来模拟类的存储机制。另外代码是否混乱是和设计分不开的,和你是否用了类没关系。面向对象方法只是给你一个好的工具,做成什么产品,还要看自己追问谢谢!
有误解,我的本意是要在子类成员函数中调用父类方法,因而认为在子类中调用父类"me"要么不可能,要么很麻烦;除非用来取地址作参数,否则我不赞同用copymemory,用来取基类地址也算不得已的技巧了。
果如你所说VB6不存在真正继承,我若还要七拐八弯地仿造,那就得不偿失了。
全部回答
- 1楼网友:白昼之月
- 2021-03-23 07:10
VB6是没有继承类一说的。
只能继承接口。
只能继承接口。
- 2楼网友:不甚了了
- 2021-03-23 06:55
很少用VB6编写类 一般只用到过程函数、模块函数即可满足商业需求。编写类,那是C++、C#干的事情。
- 3楼网友:傲气稳了全场
- 2021-03-23 06:04
VB中不叫继承,但方法是一样的,语言都是互通的.
1. 首先你要创建一个类(系统默认是Class1),在类里写函数体和方法,保存类
2. 在应用程序中直接可以调用他,调用的时候和其他语言一样,要先示例化,什么叫示例化?比如你把熊猫、狸猫、家猫都叫什么,示例化过后他们都叫猫,到底是哪种猫就可以直接用了.类库也是一样的,在你没示例化之前,他只是你创建的一个库,示例化后你知道他是什么类的库,类里有哪些成员.所以在窗体上你要写两句:
Class1 新名称 = new Class1()
新名称.函数名(变量)
这就算是引用了类库里的类.追问谢谢!我的疑问主要是基于已有的类定义新的子类......
1. 首先你要创建一个类(系统默认是Class1),在类里写函数体和方法,保存类
2. 在应用程序中直接可以调用他,调用的时候和其他语言一样,要先示例化,什么叫示例化?比如你把熊猫、狸猫、家猫都叫什么,示例化过后他们都叫猫,到底是哪种猫就可以直接用了.类库也是一样的,在你没示例化之前,他只是你创建的一个库,示例化后你知道他是什么类的库,类里有哪些成员.所以在窗体上你要写两句:
Class1 新名称 = new Class1()
新名称.函数名(变量)
这就算是引用了类库里的类.追问谢谢!我的疑问主要是基于已有的类定义新的子类......
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯