我很困惑python中的概念 - 基类覆盖。我了解到,在不同的类中可以有两个具有相同名称的不同函数,并且根据对象来自哪个类,将在对象上调用正确的函数。 但是,我刚刚了解到超级电话,并且我知道如果您取消(纠正过去时态?),则可以使用该功能。我很困惑,因为重写的函数并没有消失,是吗?为什么我需要使用超级通话“恢复”它?Python类覆盖
回答
孩子的类型是第一个MRO,所以即使其父母有相同的方法,它的方法也会被调用。 super
在继承链中的下一个链接处“重新启动”MRO,并允许发现属于父类的属性。
我不确定MRO是什么,但我知道你在说什么。思考一下后,我想我有一个答案(像我这样的编程新手获得),谁知道这个更好告诉我,如果这是正确的? 派生类中的对象只能使用派生类中的重写函数。 ** super **允许对象从基类访问原始函数。 – 2015-02-06 01:21:49
MRO是我回答中描述的链接。 – 2015-02-06 01:22:20
我知道,但我很难理解它,因为唯一暴露于python的是codeacademy。 – 2015-02-06 01:25:03
- 1. Python:覆盖基类
- 2. Python类 - 实例被覆盖?
- 3. 覆盖内置类(Python)
- 4. Python分覆盖
- 5. 覆盖{}在python
- 6. 覆盖CSS类?
- 7. 覆盖SASS类
- 8. 覆盖datagridview类
- 9. 覆盖类
- 10. 覆盖类
- 11. 覆盖css类
- 12. 覆盖jre_lib类
- 13. 覆盖css类
- 14. Python:覆盖(猴子修补)类
- 15. 如何覆盖python中的类定义?
- 16. Python的覆盖元类集属性
- 17. python @property不覆盖类属性
- 18. python中覆盖类的方法
- 19. 覆盖python中的类变量?
- 20. 覆盖python类上的__or__运算符
- 21. 如何覆盖已覆盖的类
- 22. 覆盖Python模块
- 23. Python覆盖窗口
- 24. 覆盖python模块
- 25. 覆盖覆盖?
- 26. 覆盖类的CGridColumn
- 27. 覆盖JavaFX MediaPlayer类
- 28. 覆盖类属性
- 29. 使用@覆盖类
- 30. Android - 覆盖android.content.Resources类
此链接可能有助于理解Python中的方法解析顺序。 http://python-history.blogspot.com/2010/06/method-resolution-order.html – ozgur 2015-02-06 01:11:00