擅长:python、mysql、java
<p>为了进一步补充@chepner的优雅回答,如果您希望父类调用自己的方法,您可以如下修改父类:</p>
<pre><code>class BaseClass:
def __init__(self, value):
self.value = value
self.transformed_value = self.base_create_value(value) # use the renamed reference
def create_value(self, value):
print("base")
return value + 1
base_create_value = create_value # create a local reference to the method
</code></pre>
<p>在上面的<code>BaseClass</code>中,我们正在创建一个对父方法的简单引用,并在它自己的<code>__init__</code>方法中使用相同的引用。通过这样做,即使基类的方法被重写并且被子实例调用,我们也可以继续使用这个引用对象。你知道吗</p>