8.4

认识多态:

    同类型的对象,表现出的不同形态

多态的表现形式:

    父类类型   对象名称  =  子类对象;

多态的前提:

    有继承关系

    有父类引用指向子类对象: Fu  f  =  new  Zi();

    有方法重写

多态的好处:

    使用父类类型作为参数,可以接收所有子类对象

    体现多态的扩展性与便利

基本练习:

 

多态中调用成员的特点:

变量调用: 编译看左边,运行也看左边

编译看左边: javac编译代码的时候,会看左边的父类中有没有这个变量,如果有,编译成功,如果没有编译失败。

运行也看左边: java运行代码的时候,实际获取的就是左边父类中成员变量的值

方法调用: 编译看左边,运行看右边

编译看左边: javac编译代码的时候,会看左边的父类中有没有这个方法,如果有,编译成功,如果没有编译失败。

运行看右边: java运行代码的时候,实际上运行的是子类中的方法。

 

多态的优势和弊端:

多态的优势:

在多态形式下,右边对象可以实现解耦合,便于扩展和维护
Person p =new student ();

p.work();  //业务逻辑发生改变时,后续代码无需修改

定义方法的时候,使用父类型作为参数,可以接收所有子类对象,体现多态的扩展性与便利。

多态的弊端:

不能调用子类的特有功能

报错的原因:

当调用成员方法的时候,编译看左边,运行看右边。

那么在编译的时候会先检查左边的父类中有没有这个方法,如果没有直接报错。

 

posted @ 2023-08-05 22:27  suN(小硕)  阅读(92)  评论(0编辑  收藏  举报