次のような「プライベート」メソッドを持つクラスを考えてみましょう。
class Foo(object):
def __init__(self):
self.__method()
def __method(self):
print('42')
methodをサブクラス化Foo
してオーバーライドしようとすると、 の代わりに がまだ呼び出され__method
ていることがわかります。Foo.__method
MoreFoo.__method
class MoreFoo(Foo):
def __method(self):
print('41')
>>> MoreFoo()
42
<__main__.MoreFoo object at 0x7fb726197d90>
そのようなメソッドをオーバーライドする方法は何でしょうか?