Re: [問題] 父函式呼叫未知個數的子函式
※ 引述《yungyuc (酷狗喵千代)》之銘言:
: ※ 引述《huge (huge)》之銘言:
: : 標題確實下得不好還請見諒
: : 想請教各位前輩的是
: : 如果今天我有一個base (parent) class 最後需要呼叫 clear()
: : 但是這個 clear() 是由各個 subclass 去實作的
: : 也就是說 base class 在執行 clear() 的當下
: : 並不曉得哪些 subclass 實作了沒
感謝回覆
: 為什麼要知道是誰實作的?
這邊的部份是我表達得不好,而是像yungyuc所說的,
在我的寫法裡面 parent 並不需要知道 child 實作了沒
所以看來還不需要邪惡的 __metaclass__
另外有一個部份小弟沒看懂的是底下這句話
如果是因為多重繼承,記得最上層父類別裡的 clear() 要呼叫 super(...).clear()
保證每一個子類別的 clear() 都會被呼叫到
是指說在 parent 裡面藉由呼叫 super().clear() 去執行所有 child 的 clear() 嗎?
: clear() 既然設計上要被覆寫,若子類別沒有實作 clear(),表示有問題
: 程式執行到該處就應該爛掉,然後程式員要測出來,再加以改正
: 如果 clear() 不一定要被覆寫,父類別就要提供預設方法。
: 如果是因為多重繼承,記得最上層父類別裡的 clear() 要呼叫 super(...).clear()
: 保證每一個子類別的 clear() 都會被呼叫到
: (不過多種繼承很麻煩,這只是其中要注意的一點)
: : 請問這在python中是否有個關鍵字可以讓小弟查詢呢?
: : 感激不盡
: 如果你一定要知道是哪些子類別實作的話,用邪惡的 __metaclass__ 可以告訴你一切
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.146.30.126
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章