面向对象多态
Posted zhuhuibiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象多态相关的知识,希望对你有一定的参考价值。
1.多态:
定义:同一父类的不同子类,在处理同一行为时,有不同的表现。就是
多态。
学习多态的原因?
提高代码的可扩展性和可维护性。
2.实现多态的步骤:
A.父子类继承
B.子类重写父类方法:
C.调用时,声明父类 new 子类。
3."声明父类 new 子类" 介绍:
1.创建父类引用,指向子类对象。
A.该对象,可以直接使用父类的所有属性和【方法】;但是子类特有属
性和方法,却无可奈何?
B.如果子类没有重写父类的方法,那么该对象调用的是父类的方法。
C.如果子类重写了父类中的方法,那么该对象调用的是子类重写后的
方法。
4.多态的表现形式分为两种:
A。父类做参数:
B。父类做返回值类型:
5.类型转换:
解决 :声明父类new 子类 ,创建出来的对象,不能调用子类特有属性
和方法的问题。
A。向上转型:声明父类new 子类
1.调用父类里的属性和方法
2.调用子类重写的方法
3.不能调子类特有的属性和方法
B。向下转型: 子类类型 对象名1=(子类类型) 对象名2。
---说明:对象名2是通过“声明父类new子类”得到的
对象。
---存在隐患,如果子类类型转换错误,程序直接报错。
---转换成功后,就可以调用子类特有的方法和属性了。
6.instanceof 关系运行符。
学习原因? 避免类型转换异常,从而提高代码的健壮性。
注意:1.使用interfaceof运算符时,对象的类型必须和interfaceof的第二
个参数所指定的类或者接口在继承属上有上下级关系,否则会出现编译错误。
2.interfaceof经常和强制类型转换结合使用。
以上是关于面向对象多态的主要内容,如果未能解决你的问题,请参考以下文章
设计模式面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )