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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 北极£莜蓝 中级黑马   /  2014-6-6 21:47  /  1099 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

感觉还是有点抽象,父类引用指向子类对象,只能访问子类复写了的方法,功 ,具体的什么情况用

4 个回复

倒序浏览
我是这样理解的,说法上,可以说是一个类的多种形态,用法上,就记住子类可以自动转换为父类,但父类只能强制转换为子类
回复 使用道具 举报
多态间的成员特点:
方法有重写,而变量没有。
A:成员变量
        编译看左边,运行看左边。
B:成员方法
        编译看左边,运行看右边。

多态的好处:
        可以提高代码的扩展性和可维护性。
回复 使用道具 举报
我们今天学这,有点蒙
回复 使用道具 举报
多态就是一个事物可以有不同的状态。如,有一个动物类,有一个猫类,猫类继承动物类,动物类中有一个吃的方法,猫类中用有吃鱼内容的吃方法把动物类中的吃方法覆盖掉,当用动物类类型的引用变量去指向一个猫实例时,引用变量虽然指向猫实例,但它的类型是动物类类型,只能访问猫实例属于动物类的功能,不能访问猫类特有的功能,吃功能就属于动物类的功能,而且此时它已经被猫类用有吃鱼内容的吃功能覆盖了,所以这个引用变量也能访问到有吃鱼内容的吃功能。也就是说,通过动物类类型引用变量访问的猫实例时,猫实例只具有动物类的功能,包括被猫类覆盖的动物类功能,此时的猫实例体现了作为动物类的状态。当用猫类类型引用指向猫实例时,则可以访问猫实例的所有功能,猫实例又体现了猫类的状态。一个猫实例可以有动物类的状态和猫类的状态,这就是多态吧。个人理解,不知道是否清楚。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马