Python类覆盖

时间:2015-02-06 01:01:51

标签: python class override super

我对python中的一个概念感到困惑 - 基类重写。我了解到在不同的类中可以有两个不同的具有相同名称的函数,并且将根据对象来自哪个类在对象上调用正确的函数。 但是,我刚刚学会了超级调用,并且我了解到如果你覆盖(纠正过去时?)你需要的功能,你可以使用它。我很困惑,因为被覆盖的功能首先没有消失,是吗?为什么我需要"恢复"它使用超级电话?

1 个答案:

答案 0 :(得分:1)

子类型在MRO中是第一个,因此即使其父项具有相同的方法,也会调用其方法。 super在继承链的下一个链接上“重新启动”MRO,并允许发现属于父类的属性。