通过派生类的默认构造函数进行 Python 3 超类实例化

问题描述 投票:0回答:1

在此代码中:

class A():
  def __init__(self, x):
    self.x = x
  
  def __str__(self):
    return self.x

class B(A):
  def __str__(self):
    return super().__str__()

b = B("Hi")
print(b)

输出为:

Hi

幕后发生了什么?派生类中的默认构造函数如何调用超类构造函数?传递给派生类对象的参数如何映射到超类的参数?

python python-3.x
1个回答
0
投票

派生类中的默认构造函数如何调用超类构造函数?

您没有在

B
中覆盖它,因此您从
A
继承了它。这就是继承的目的。

>>> B.__init__ is A.__init__
True
© www.soinside.com 2019 - 2024. All rights reserved.