多态的作用是什么?“一个接口,多种实现”,或者说“父类的变量指向子类对象会调用子类方法”。。。觉得这两种表述都觉得不太算它的作
多态的作用是什么?“一个接口,多种实现”,或者说“父类的变量指向子类对象会调用子类方法”。。。觉得这两种表述都觉得不太算它的作 用。
封装是对象复用类中的代码。继承是一个类复用另一个类的代码。那多态的作用是什么?
问题点数:0、回复次数:13Top
1 楼Salam2001(Upgrading : C++ and Data Structure ...)回复于 2005-04-01 16:09:21 得分 0
编译时多态: 就是 function overloading
运行时多态: 就是 virtual function overridingTop
2 楼lotusflower701(lotusflower)回复于 2005-04-01 16:12:59 得分 0
现在不是讨论它如何实现,而是讨论它的作 用。。
接口(父类成员函数)重用?这种说法不知道是否恰当Top
3 楼xiaomin1300()回复于 2005-04-01 16:31:14 得分 0
多态其实是一种行为的封装,你只需知道你所操纵的对象所能够做的事情(接口),那么你就在需要的
时候叫它去做,具体怎么做由它自己去决定,你不需要知道而且没有必要知道Top
4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-01 18:47:56 得分 0
动态联编,通过运行时来确定调用的接口Top
5 楼hotline(小东)回复于 2005-04-01 18:52:05 得分 0
多态:是经一个共同的接口来影响类型的封装,这个接口通常被定义在一个抽象的base class中,在有
虚函数的类中,程序在Runtime根据所指的类型动态的调用所指的虚函数.但应该尽量不要用"多态",它会在空时和时间上引想额外的负担!!!
(不知道上面的能不能帮你,但是,I have try my best!!!嘻嘻哈哈)Top
6 楼Wolf0403(废人:独活十年~心如刀割)回复于 2005-04-01 19:12:58 得分 0
多态就是。。。譬如我手下有三个小弟,某天我说:“去替我收保护费!”于是三个人出发了。A 拿了一个棒子,去了先一顿乱砸,对方吓傻了,进了医院;B 叫了二百在手下,去了往大厅里一坐,对方也吓疯了,请他的小弟去排挡大吃一顿,自己被诊断出神经衰弱;C 一个人去,跟对方头头喝茶聊天唠嗑扯皮,最后对方被逼疯了,交钱了事……得到同样的命令,三个人各自有各自的解决方法,这就是多态:复用相同接口,实现不同的操作。Top
7 楼Snow_1980(风吹雪)回复于 2005-04-01 19:52:14 得分 0
汗,楼上经典!Top
8 楼GEATA(学习ing)回复于 2005-04-01 20:45:49 得分 0
强!Top
9 楼run_faster(xiaozhu)回复于 2005-04-02 15:21:57 得分 0
哈哈,很有意思~~~~的比喻Top
10 楼grandking719(爱吃大饼)回复于 2005-04-02 16:29:09 得分 0
多态性:一般类中定义的属性和服务在特殊类中不改变其名字,但通过各自不同的实现可以具有不同的数据类型或具有不同的行为。Top
11 楼xtutzh(天涯)回复于 2005-04-02 16:59:23 得分 0
我接着顶:
多态的作用是什么?“一个接口,多种实现”
我爷爷当年打日本的时候用刀,我爸爸打日本的时候用三八式步枪。现在叫我们这一辈去打的话那就用导弹啦。
可见我们接口形式(成员函数)都是一样的,但操作起来内在的方式和结果却不一样。
多态也是这样的。它是相对于继承而言的。形式上:在基类中用“virtual”关键字。
父类的指针是可以指向子类的
那调用同一给接口是用老子的还是用儿子的行为呢?如果接口函数是个虚函数,那不好意思
那就调用儿子的了,不是,还是老爸为大了?
不好意思。让大家见笑了
Top
12 楼grandking719(爱吃大饼)回复于 2005-04-02 17:30:19 得分 0
我补充我说的一点 ,没有继承就没有多态~~~Top
13 楼oldtab(汇铁)回复于 2005-04-02 17:37:01 得分 0
多态就是少一些函数名。可以跟继承无关。Top




