Python快速入门 | 好好理解 Python 面向对象中的多继承和super
咱们上一篇讲到了继承,说到了子类和父类之间的关系,父类也叫作基类、超类,也就是 super class ,上次我们说要在子类使用父类定义的东西,就需要用到 super 方法,有些朋友不太理解:不是说子类继承了父类,就直接都拥有了父类的东西了么?为啥要使用 super 呢?
其实,如果你对 类 和 对象 (也就是我们上上篇说的内容)之间的区别有一个明确的认识,类只是一个结构,对吗?所以你在定义结构的时候,它并不是实例化出来的对象了,你只是定义,那么你在定义方法的时候想要用到 super 类的方法,你就只能用 super 来调用它。
当然,你也可以直接使用 super 类的名称进行调用,比如这样:
虽然可以直接使用父类的名称来调用父类的方法,但是这只是适用于单继承的情况(小帅b之前给你举的例子,黄种人继承了人类,就是一个单继承。)
接下来给你讲的多继承,相信你会对 super 更近一步的认识。
来举一个多继承的例子:
这里的 super 类
本文隐藏内容 登陆 后才可以浏览
那么要用 Person 的,我想你应该知道了:
以上就是 Python 面向对象中的多继承和 super 的使用,请你自己私底下实现一下,体会其中的过程,做好笔记和总结。
请教下,这个多重继承mro的顺序,就是按照类定义的顺序吗?然后基类是排在最后的。
到这里对类的定义和方法的调用就清晰很多了。
打卡!
我感觉就是找大哥? 上面的大哥?一层层往上面找
super方法表示调用的是排在当前方法的下一个类。通过print(方法.__mor__)可以看到调用的顺序。
super(类,self)表示我们输入进入的类的下一个。在多重继承的情况下,使用super可以实现跨类调用从而表现多种结果。
打卡
打卡
有点懵,要多看几遍
又懂了不少
上一篇不懂,这篇总算是懂了
看了别人的super还是不太懂,看你的懂了。