黑马程序员技术交流社区

标题: 面向对象之多态 [打印本页]

作者: 孙建强Jason    时间: 2015-6-30 21:45
标题: 面向对象之多态
1.概念
对象在不同时刻表现出来的不同状态。

        针对引用类型:
                编译期间状态。
                运行期间状态。
                        Person p = new Person();

        举例:
                水(水,冰,水蒸气)
                狗:狗是狗,狗是动物,狗是宠物,狗是食物

2.前提条件:
                A:要有继承或实现关系。
                B:要有方法重写。
                C:要有父类引用或接口引用指向子类对象。
               
3.多态间的成员特点:方法有重写。而变量没有。

                A:成员变量
                        编译看左边,运行看左边。
                B:成员方法
                        编译看左边,运行看右边。

4.多态弊端:
                继承:耦合性高,父类添加一个功能,每个子类都有。
                父类引用不能使用子类特有功能。
               
                基本类型:隐式转换(小到大),强制转换(大到小)。
                引用类型:向上转型(小到大),向下转型(大到小)。
               
                java.lang.ClassCastException:类型转换异常。
               
                        类型不匹配。
                        你存储的是Cat,想转换成Dog,肯定不行。

5.多态的好处:
                为了提高代码的扩展性和可维护性。

作者: JJJD    时间: 2015-6-30 22:04
学习啦。。。谢谢分享!
作者: ZhangHeng    时间: 2015-6-30 22:06
谢谢分享
作者: 等你的季节-夏天    时间: 2015-6-30 22:11
谢谢分享!
作者: mls123456    时间: 2015-7-6 00:55
不错,收藏,,,,,,,,,,,,,,,,,,,,,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2