我有以下几点:调用基类的方法类重载它
class A(object):
def x(self): print "Hello"
def y(self): self.x()
class Abis(A):
def x(self): print "Bye"
a = Abis()
a.x()
a.y()
它打印:
Bye
Bye
但我其实想:
Bye
Hello
因为我想A.y
拨打“原”A.x
。当派生类重载它时,如何参考原始A.x
中的A
?
难以解释:Abis.x实际上是调用A.y,它正在调用A.x. Abis.x以透明方式扩展A.x功能,但必须最终使用A.x. – dangonfast 2013-04-26 14:13:40
如果“难以解释”,而外部观察者认为它“稍微有些奇怪”,那么您应该考虑是否可以改进您的设计。 – 2013-04-26 15:12:50