考虑一个具有“私有”方法的类,例如:
class Foo(object):
def __init__(self):
self.__method()
def __method(self):
print('42')
当我尝试子类化Foo
和覆盖 method__method
时,可以看到Foo.__method
仍然被调用,而不是MoreFoo.__method
.
class MoreFoo(Foo):
def __method(self):
print('41')
>>> MoreFoo()
42
<__main__.MoreFoo object at 0x7fb726197d90>
覆盖这种方法的方法是什么?