黑马程序员技术交流社区
标题:
多态以及多态成员特点
[打印本页]
作者:
695010894
时间:
2016-3-26 16:53
标题:
多态以及多态成员特点
多态:可以理解为事物存在的多种体现形态。比如
人:男人、女人;
动物:猫、狗;
猫 x = new 猫();
动物 x = new 猫();类型提升,向上转型.
学习过程:
1,多态的体现:
父类的引用指向自己的子类对象
父类的引用也可以接收自己的子类对象
2,多态的前提:
必须是类与类之间有关系.要么继承要么实现.
通常还有一个前提:存在覆盖.
3,多态的好处:
多态的出现大大的提高了程序的扩展性.
4,多态的应用。
若想要子类的特有方法,使用向下转型:强制将父类的引用,转换成子类类型.
//千万不要将父类对象转成子类类型.我们能转换的是父类应用指向了
//自己的子类对象时,该应用可以被提升,也可以被强制转换.
//多态自始自终都是子类对象在做变化.
在多态中'非静态'成员函数的特点:
编译时期:参阅引用型变量所属的类是否有调用方法;如果有,则通过,没有则编译失败.
在运行时期:参阅对象所属的类中是否有调用方法.
简单总结:成员函数在多态调用时,编译看左边,运行看右边.
涉及面试:
在多态中成员变量的特点:输出重名变量时,无论是编译还是运行都参考左边.
在多态中静态成员函数特点:无论编译还是运行都参考左边.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2