这么解释多态可以吗?

netnetnet1984 2005-09-23 05:02:36
抽象的汽车类有好几种子类,比如跑车,越野车等,还有各种品牌的车。作为汽车类的子类,他们都提供一些相似的基本功能,如启动、加速、减速和刹车。但在不同类型的车上,这些基本功能不尽相同,实现方法和技术也各不相同。但是这些车提供给用户的操作接口都是一样的,比如都是踩油门、换档和踩刹车。这样,用户只要学会一种开车技术,那么他就什么车都能开,即使再出一种新型的汽车,用户的操作方式还是不变。否则,用户就得为每种车,学习开车技术,每出一种新车,又得学一种新的开车技术。也就是说面对不同的汽车,用户看到的是相同的操作汽车的接口,而不需要去管这些接口的实现方式和技术。
...全文
187 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
姓庄滴 2005-09-26
  • 打赏
  • 举报
回复
override & overload 到底哪个单词是重载,哪个是复盖?
我是初学者.

override 是从载,overload是覆盖对不?
kuafu001 2005-09-26
  • 打赏
  • 举报
回复
我觉得,多态是在继承中产生的.
一个基类有一个方法A(),他的几个子类纷纷重载了这个方法A().
当你用基类的对象变量 引用 子类的对象,
然后用这个变量调用 方法A()时,这个方法A()是由这个对象变量实际的对象决定的.
也就是用一个基类对象变量可以引用他自己的类对象或者子类的对象.但是用一个方法名调用一个方法时,决定于对象的实际类型,也就是 多态.
nccs 2005-09-26
  • 打赏
  • 举报
回复
多态就是对同一事件的不同对象的不同反应。
doway 2005-09-23
  • 打赏
  • 举报
回复
多态的字面意思就是多种形态。

看过《星银岛》没有,有一只非常可爱的小变形虫。
humanity 2005-09-23
  • 打赏
  • 举报
回复
你这更像是站在 驾驶学校/交管部门的角度, 讲的是抽象。

换个角度(站在汽车制造商立场), 讲多态:
据悉,作为目前世界上最顶级的A级车型之一,新宝来融入了德国大众最先进的汽车制造理念,是一款高性能轿车。它拥有多项国际领先的科技装备,如ESP、EPS、DSG、Can-bus等,并且由于采用了大众汽车全新的设计理念而更加时尚动感,同时DSG、EPS、四轮独立悬挂的采用则将使宝来轿车一直坚持的卓越操控性能再跃新台阶,更具驾驶乐趣。

同样是宝来车,你依然保持原有驾驶方式和习惯,

新车款的驾驶体验是却是由新车带给你的,与老车相似但又不同,
-- 但你的感觉总是实事求是!这才是多态。
humanity 2005-09-23
  • 打赏
  • 举报
回复
经考核:netnetnet1984 () 通知已具备 基本 OO 知识。

下一课程: 开车上路, 撞坏了回来修理。
terry_yip 2005-09-23
  • 打赏
  • 举报
回复
多态还包括继承中的override,overload等概念,你说的只是关于接口的部分。

override就是可以改变汽车的传统换档方法,变成自动换档,overload,就是在继承传统的汽车方法上,新建一个“平滑起动“方法。

netnetnet1984 2005-09-23
  • 打赏
  • 举报
回复
up
baijinwu 2005-09-23
  • 打赏
  • 举报
回复
多态
就是我是一个汽车教练,不管什么车,就是加油就可以走。
把所有的车都看成一个加油就走的东西,不管他是吉普还是拖拉机
netnetnet1984 2005-09-23
  • 打赏
  • 举报
回复
不一样啊,怎么?
trumplet 2005-09-23
  • 打赏
  • 举报
回复
有两个类:
class male{};
class female(){};

两个方法:
public gotoToilet(male men){go into toilet for man;}
public gotoToilet(female women){go into toilet for woman;}

创建两个实例:
male ZhangSan;
female LiSi;

现在,让ZhangSan和LiSi执行gotoToilet的任务:
gotoToilet(ZhangSan);
gotoToilet(LiSi);

请问,ZhangSan和LiSi做的动作一样吗?
lyshw 2005-09-23
  • 打赏
  • 举报
回复
很好
trumplet 2005-09-23
  • 打赏
  • 举报
回复
这个比喻好像可以用来理解接口。
wintangtang 2005-09-23
  • 打赏
  • 举报
回复
可以!

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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