【发布时间】:2011-10-23 14:32:25
【问题描述】:
我有一个奇怪的问题,鉴于实际情况相当复杂,我做了一个简单的例子。我有两个类 Base 和 Child。每个共享一个同名的方法 go。我希望 Child 类能够做的是从 Base 继承 go 方法。但是,当我在 Child 上调用 go 方法时,我希望它做一些事情(在这种情况下,将属性 A 乘以 2),然后调用它从 Base 继承的 go 方法。
在此示例中,在 Base 上调用 go 将打印 35,而我希望 Child 打印 70。
class Base :
def __init__ (self) :
self.A = 35
def go (self) :
print self.A
class Child (Base) :
def __init__ (self) :
Base.__init__(self)
def go (self) :
self.A = self.A * 2
# Somehow call Base's **go** method, which would print 70.
我知道这样做通常不是一个好主意(因为它可能会造成混淆),但是在我正在做的事情的背景下是有道理的。
【问题讨论】:
标签: python class inheritance methods