面向对象-多态特性的初理解

现在已经是二刷多态了,虽然感觉懂了,但是又没有完全懂。在此先记录下当前理解,等日后大彻大悟的时候再回来补坑

**多态的含义:**就是一种事物可以呈现多种形态。有动物这个父类,有猫,狗,猪这些子类。你把动物的模板建好,里面只有吃这个功能。但是猫,狗,猪吃的东西并不一样,所以就要重写动物类的方法,实现自己独特的功能。那么对于动物类来说,自己就有了吃的多种形态。带入理解理论就是:同一种方法可以根据发送对象的不同而采用多种不同的行为方式

//引用类型         实际类型
  Animal cat = new Cat();

  • 其实也可以这样理解:实际类型去调用引用类型的模板,然后再根据自己的实际情况来实现具体的作用


    多态的实现条件:

    1. 有继承关系

    2. 有方法重写

    3. 父类的引用指向子类

      多态的注意事项:

      1. 多态是方法的多态,与属性无关
      2. 成员变量编译执行时都是看左边的类型(所以说多态与属性无关,因为子类无法影响到父类)
      3. 成员方法编译时看左边(就是在敲代码时,左边类型里有的方法你才能去用,否则就会报错),运行时看右边(左边有的方法但是右边类型把方法重写了,所以结果还是右边的类型决定。如果右边没有这个方法那就不会影响到)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值