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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liqian 中级黑马   /  2012-4-18 10:09  /  2346 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.可替换性(substitutability)。多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。
3.接口性(interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。例如,假设超类Shape规定了两个实现多态的接口方法,computeArea()以及computeVolume()。子类,如Circle和Sphere为了实现多态,可以完善或者覆盖这两个接口方法。
4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。
       值得注意的是,多态并不能够解决提高执行速度的问题,因为它基于动态装载和地址引用,或称动态绑定。但在Java中,除了final类和一定条件下的final方法外,所有方法都由JVM在运行期间进行动态绑定。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

3 个回复

倒序浏览
总结的很好,不错
回复 使用道具 举报
我加一点,多态在成员函数和静态函数上的特点:
1,成员变量:当子父类中出现了相同的非私有成员变量时,
在多态调研中的特点:
在编译时期:参考引用型变量所属的类中是否调用成员型,如果有编译通过否则失败变量,
在运行时期:参考的还是引用型变量所属的类中的成员变量
简单说:对于成员变量,无论编译还是运行,都参考引用型变量的所属的类中的成员变量
更简单地说,成员变量看=的左边
2,成员函数:
当子父类中出现一模一样的函数时,
在多态调用中,
编译时期:参考的是引用型变量的所属类中是否有调用的成员函数
运行时期:参考的是对象所属的类中是否有调用的成员函数
原因是:编译时期应该参考的是父类,而运行时,参考子类,因为在成员函数上有一个特点,覆盖
简单一句:队成员函数,编译看左边,运行看右边
3,静态函数
在多态调用中的特点:
编译时期:参考的引用型变量所属的类中是否调用的静态函数,若果有编译通过,否则失败
运行时期:参考的还是引用型变量所属的类中的静态函数
回复 使用道具 举报
好,不错,视频听得很认真
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马