A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 龙旋 中级黑马   /  2016-8-12 21:29  /  738 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近学到多态,谁能举例说说么

5 个回复

倒序浏览
就是父类可以new一个子类出来  然后可以重写子类的方法
回复 使用道具 举报
多态:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。

多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,

那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,

但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,

甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。

方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。

运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1. 方法重写(子类继承父类并重写父类中已有的或抽象的方法);

2. 对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。

评分

参与人数 1黑马币 +2 收起 理由
r1503882525 + 2 回答认真,奖励一下

查看全部评分

回复 使用道具 举报
多态就是用父类类型的变量去存储一个子类的对象
该变量的属性和静态方法使用时都是父类中的
成员方法使用的是子类中的方法,并且该方法在父类中也存在。
回复 使用道具 举报
冯佳老师举的例子是超人和普通人之间的多态,超人是普通人的子类,平时超人是一个普通的人,当要调用救人这个方法的时候(非静态),超人就会内裤外穿变成超人去救人
回复 使用道具 举报
顾名思义,一个事物多种形态,对象调用的是公共的方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马