override实际上是多态实现的基础 对么

slowgrace 2009-06-30 10:02:13
override实际上是多态实现的基础,对么?

(1)多态的概念
这里的“多态”指的是VB6文档里提到的那种多态,就是多多变态的意思,呵呵,开个玩笑。就是,汗,好像还真不是一句话能说清楚的。上代码吧:

Dim Dog As clsIDog    
For Each Dog In Kennel
Dog.Eat
Next Dog


你看,我说的就是这种多态。假设kennel里有很多种狗,有藏獒也有京巴,它们吃东西的具体形式不大一样。但是我用他们的父类dog对象,就可以在程序运行期间动态地调用子类的方法。总之,这里说的多态,就是父类调用子类的方法,就是后期绑定。


(2)override的概念
override一般翻译成覆盖或者重写。注意我说的不是overload啊,那个是重载,指的是相同的函数名,可以有不同的函数签名(就是参数列表可以不同)。

override指的是子类继承父类的时候,子类重新实现父类的同名方法(参数列表也要完全相同)。


(3)要请教的问题
在VB6里实现上面的这种多态,是用implements。然后在具体类里实现接口类里的方法。这样的话,是不是可以说override是实现多态的基础呢?甚至继承也是。

没有子类继承接口类,就没办法实现多态,对吧?在此基础上,没有override也没办法实现多态,对吧?

可是的话,为什么我没看到有别人这么说呢?还是我对override这个概念理解的不对?
...全文
212 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
slowgrace 2009-07-03
  • 打赏
  • 举报
回复
谢谢楼上各位,结帖了。小结在这个文章里:http://blog.csdn.net/slowgrace/archive/2009/07/02/4316003.aspx



----
给新版CSDN的建议

舉杯邀明月 2009-07-01
  • 打赏
  • 举报
回复
楼主是个高人啊~~~~~~~~~~
ahao 2009-07-01
  • 打赏
  • 举报
回复
多态只是一种概念,而继承更多强调了语法,而语法是可以有不同实现的。
slowgrace 2009-07-01
  • 打赏
  • 举报
回复
component tool's guide
一笑拔剑 2009-07-01
  • 打赏
  • 举报
回复
西西筒子今天问题好多啊

看什么书那
晨星 2009-07-01
  • 打赏
  • 举报
回复
我觉得可以简单理解成:多态是抽象的概念,而继承、override则是具体的实现机制。
晨星 2009-07-01
  • 打赏
  • 举报
回复
“多态”是个比较抽象的概念。
很多语言中,动行时的动态多态就是靠类的继承再加上成员函数的override来实现的。
C++中通过模板还可以实现编译时的静态多态。
slowgrace 2009-07-01
  • 打赏
  • 举报
回复
汗。给你私信了。
Tiger_Zhao 2009-07-01
  • 打赏
  • 举报
回复
多态只是继承的一种应用方式。
而且到底
  多态 = override
还是
  多态 = 你说的Dog.Eat
完全是术语的定义概念,用何种定义就用何种判定方式。
你的问题在不同定义下会有不同答案。
slowgrace 2009-07-01
  • 打赏
  • 举报
回复
我在说多态啊?你是笔误么?怎么在说继承?

我的论据最重要是这个:“没有子类继承接口类,就没办法实现多态,对吧?在此基础上,没有override也没办法实现多态,对吧? ”
slowgrace 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chen8013 的回复:]
楼主是个高人啊~~~~~~~~~~
[/Quote]

不带这么嘲笑人的哈
slowgrace 2009-06-30
  • 打赏
  • 举报
回复
DXS
嗷嗷叫的老马 2009-06-30
  • 打赏
  • 举报
回复
DB................
嗷嗷叫的老马 2009-06-30
  • 打赏
  • 举报
回复
BD............
神马都能聊 2009-06-30
  • 打赏
  • 举报
回复
楼主说的好哇,我顶啊!

不明真相的群众飘过。。

864

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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