Python 类继承重写基类方法的问题,请进来看看

class A(object):
  def a(self):
    xx

def b(self): a() xx

然后 B 继承 A

class B(A):
  def a(self) # 重写 A 类里的 a 函数,意思是这样的  

最后以 B 的实例调用 b(),但 b()里调用的是 B 里重写的 a 方法

请问这该如何实现么


Python 类继承重写基类方法的问题,请进来看看

11 回复

<br>super(B, self)<br>


我无法理解你的问题

没看懂问题描述,实现啥?

并不需要什么特殊实现啊
<br>&gt;&gt;&gt; class A:<br>... def a(self): print('A.a')<br>... def b(self): self.a()<br><br>&gt;&gt;&gt; class B(A):<br>... def a(self): print('B.a')<br><br>&gt;&gt;&gt; B().a()<br>B.a<br>

默认就调用 b 的啊?

def b(self):
self.a()

统一调用方法实现一下__call__?

楼上有人贴实验结果了啊,按理说会调用已经重写的方法啊

额,弄清楚了,程序连得是远程服务器,他那边的问题,我还以为是我重写的代码不对。谢谢大家。

基类调用 a()少打了个 self

回到顶部