06—面向对象(中)

一、多态

1、多态 

概念:

        多态是指同一种行为具有不同的表现形式,同一方法根据不同对象具有不同的行为方式。

特点:

        ①存在同名成员变量时,访问的是父类的成员变量

        ②存在同名的非静态成员方法时,访问的是子类重写的方法

        ③存在同名的静态成员方法时,访问的是父类重写的方法

        ④不能访问子类扩展的方法

2、多态的形式和体现

①多态引用

        格式:父类类型  变量名   =  子类对象(调用:变量名. 方法名

        (父类类型:指子类继承的父类类型,或者实现的父接口类型。)

        所以说继承是多态的前提。

多态引用的表现

        多态成员方法:编译时类型与运行时类型不一致,编译时看 “父类” ,运行时看 “子类”

③多态引用的好处坏处

        坏处:编译时,只能调用父类声明的方法,不能调用子类扩展的方法;

        好处:运行时,看“子类”,如果子类重写了方法,一定是执行子类重写的方法体;变量引用的子类对象不同,执行的方法就不同,从而实现动态的绑定。代码编写更灵活、功能更强大,可维护性和扩展性就更好。

3、应用多态解决问题

① 声明变量是父类类型,变量赋值子类对象
  • 方法的形参是父类类型,调用方法的实参是子类对象

  • 实例变量声明父类类型,实际存储的是子类对象

② 数组元素是父类类型,元素对象是子类对象
③ 方法返回值类型声明为父类类型,实际返回的是子类对象

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值