在Python
的超類中,如何調用在其子類中被覆蓋的函數?Python中的基於接口的編程?
class A:
@staticmethod
def interfaceBasedMethod():
print "Want to delegate to overriding method in subclass"
@staticmethod
def a():
interfaceBasedMethod() # <-- I know this causes error. But here
# I want to call the overridden method in subclass.
class B(A):
@staticmethod
def interfaceBasedMethod():
print "Class B processes."
if __name__ == "__main__":
b=B
b.a()
理想輸出:
Class B processes.
谷歌搜索並沒有真正返回有關基於Python的接口編程頁,儘管它應該在的Java等。由於是共同的!
這是** **多態性,而不是接口。 –
如果你想要做多態性,你爲什麼要用'@ staticmethod'? –
@Brendan非常感謝。我更新了代碼並希望它看起來更好。我是Java程序員,對Python仍然很陌生。 – IsaacS