Python 中这段里面没有运用super() 或基类名.方法名()为什么结果还是继承...
发布网友
发布时间:2022-05-02 19:17
我来回答
共1个回答
热心网友
时间:2022-04-18 05:31
很简单,因为 B 没有重写 __init__ 函数所以 B 的初始化函数直接使用 A 的初始化函数 __init__ ;
以 __ 为前缀的函数,并且没有 __ 后缀,会在编译时变成 __A_private(),同理 B 的 __privite 会变成 __B_private(),名字不一样,所以没有重写。A 的 __init__ 里面的 __private 会自动变成 __A_private()。
B 重写了 public,所以最后调用的是 public() method in B。
上述是基础语法而已。