十面向对象之多态

Posted 又等风来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十面向对象之多态相关的知识,希望对你有一定的参考价值。


1.多态的概念
一种事物的多种体现形式
方法重载,方法的重写都是多态的体现


2.多态的体现形式
a.父类的引用指向子类的对象
b.接口的引用指向实现类的对象

总结:
a.如果使用了多态,将不能访问子类或者实现类中特有的属性和方法
b.在多态中访问成员变量时,如果子类中出现了和父类重名的成员变量,都访问的是父类中成员变量
c.在多态中调用了方法,只有子类重写了父类中的方法,会调用子类中重写之后的方法,如果没有重写,调用的是父类中的方法

3.使用多态的好处
a.提高了代码的可维护性
b.提高代码的扩展性
c.可以当做形参,接受任意子类的对象或者实现类的对象

4.对象的向上和向下转型
1>对象的向上转型【多态的体现】 父类或者接口 = 子类或者实现类
由子类类型转为父类类型
由实现类型转为接口类型

2>对象的向下转型【类型的强制转换】子类或者实现类 = 父类或者接口
由父类类型转为子类类型
由接口类型转为实现类型

Cat c2 = (Cat)a;
TestImp test1 = (TestImp)z;

注意:对象向下转型的时候,一定要注意类与类之间或者类与接口之间必定存在关系

以上是关于十面向对象之多态的主要内容,如果未能解决你的问题,请参考以下文章

面向对象

面向对象的程序设计

Java Review (十面向对象----多态)

Java Review (十面向对象----多态)

Python面向对象编程之继承与多态详解

java学习笔记之面向对象多态