關於 Python 的繼承問題
前言
在之前的 Javascript 的 class 繼承的注意事項 實驗了 JavaScript 的 super 的用法,這次把相同的做法放在 Python 會有一樣的結果嗎?在此把學習的過程做個紀錄。
內容
範例如下
class BaseClass:
def __init__(self):
pass
def call(self):
print('I am BaseClass.')
#
class ExClass(BaseClass):
def __init__(self):
pass
def call(self):
print('I am ExClass.')
#
class ExClass1(ExClass):
def __init__(self):
pass
def call(self):
#Follow code will failed!
#super().super().call()
super().call()
print('I am ExClass1.')
#
a = ExClass1()
a.call()
實驗的結果和 JavaScript 一樣, super 只能單次使用,不能連著用,看來這個特性和 JavaScript 是一致的!