当我从外部类调用method1()时,它最终会调用派生类method1()。如何强制它调用基类method1?内部类是否最好有一个 init ,并从那里调用父 init ?
class OuterClassA
__init__
method1()
def method1(self):
....
class InnerClassB(OuterClassA)
def method1(self):
....
答案 0 :(得分:3)
Python的双下划线名称修改旨在帮助解决此问题。
有关详细信息和已完成的示例,请参阅:http://docs.python.org/tutorial/classes.html#private-variables和http://docs.python.org/reference/expressions.html#atom-identifiers。
class OuterClassA:
def __init__(self):
self.__method1() # call this class's private copy
def method1(self):
...
__method1 = method1 # make a private (class local) copy
class InnerClassB(OuterClassA)
def method1(self):
...
答案 1 :(得分:2)
调用基类method1()
。
OuterClassA.method1(someClassBObject)