Python 继承:子类调用父类方法的原因解析
Python 继承:子类调用父类方法的原因解析
以下代码展示了 Python 中子类继承父类并调用父类方法的示例:
class Parent:
def pprt(self):
print(self)
class Child(Parent):
def cprt(self):
print(self)
c = Child()
c.cprt()
c.pprt()
为何 c.cprt() 和 c.pprt() 结果一样?
这是因为 Child 类继承了 Parent 类,继承后,Child 类就拥有了 Parent 类中的所有方法,包括 pprt() 方法。
当调用 c.pprt() 时,实际上调用的是 Parent 类中的 pprt() 方法,因为 c 是 Child 类的实例,所以 self 指向的是 Child 类的实例 c。但是 Parent 类中的 pprt() 方法并没有使用 self 中的任何属性或方法,所以输出结果是一样的。
简单来说,子类继承了父类,就获得了父类的所有方法。调用子类对象的父类方法,本质上是在调用父类的方法,只是 self 指向的是子类对象而已。
原文地址: https://www.cveoy.top/t/topic/noRV 著作权归作者所有。请勿转载和采集!