首页 > 编程学习 > 关于多态的理解

关于多态的理解

发布时间:2022/9/14 6:12:42

父类指针指向子类对象

重载:
调用时调用父类中的方法,子类中有同名方法但是不会去调用子类的,因为是由父类调用的(父类指针指向子类对象),在调用时调用形式与父类不一致直接报错,
而子类指针指向子类对象不同,继承的方法带不带参数
先去子类找 找不到去父类找,所以调用方式时可以带参也可以不带参,而多态只会在父类中找

重写:
调用的依旧是父类中的方法,但是父类中的方法被替换成了子类的了,就是子类中重写的方法覆盖了父类中相同名字相同参数的方法,调用时父类还是这么调,但是调用时就
进入子类中

重定义:
在重定义的方法中,如果该方法在父类中,子类没有,这就跟子类指针指向子类对象是一样的,子类中的方法调用了重定义的方法 找不到就去父类找,
父类中没有该方法,子类中有,只能子类使用,父类要想使用就需要传递对象,多态非多态是一样的,

区别在于非多态该方法不管是存在于父类中,还是子类中,子类对象都可以调用的到,注意我这里说的是子类对象的都可以调,不要理解成在父类中调子类方法,父类中是无法直接调用子类的方法的

而多态,该方法是在父类中,那么父类中 子类中 或者对象都可以调,

该方法在子类中,对象不能直接调用,而且只能在子类使用,要想父类使用子类的方法需要传递子类对象,
(父类无法直接使用子类方法)这点是不管多态还是非多态是一样的

 

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号