我收到一個異常,這意味着我的繼承結構有問題,但無法找出問題所在。使用tkinter時的類繼承問題
import tkinter as tk
class Game(tk.Tk):
class Period(tk.Frame, Game):
class PeriodSummary(tk.Frame,Period):
這給了錯誤時拋出:
Traceback (most recent call last):
File "tkinter_test.py", line 4, in <module>
class PeriodSummary(tk.Frame,Period):
TypeError: Cannot create a consistent method resolution
order (MRO) for bases Frame, Period
所以我想有Period
從Game
繼承屬性,PeriodSummary
從Period
繼承屬性。爲什麼這是不可能的?
看起來你對繼承的工作原理有一個根本性的誤解。爲什麼'PeriodSummary'需要從這些其他類繼承?爲什麼「週期」也是「遊戲」而不是遊戲的一部分?你認爲完成了什麼? –
「遊戲」有很多'期間'。在每個階段結束後,我希望有一個'PeriodSummary'框架出現。 「週期」從「遊戲」繼承,因爲它需要屬性,但也有不同的屬性。 – splinter
閱讀你剛剛寫的:一個遊戲_has_很多時期。每個時期也不是一場比賽,這就是你的繼承所說的。一個'Game'對象應該有多個'Period'對象作爲屬性。你不想僅僅因爲需要共享數據而使用繼承,那不是繼承。 –