2021年10月25日 星期一

關於 Python 的繼承問題

 關於 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 是一致的!


相關文章與資料

Javascript 的 class 繼承的注意事項

沒有留言:

張貼留言