상속 구조에 문제가 있음을 의미하는 예외가 발생하지만 문제를 파악할 수 없습니다. tkinter를 사용할 때 클래스 상속 문제
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
그래서 내가
Game
에서 속성을 상속
Period
을 갖고 싶어하고,
PeriodSummary
는
Period
에서 속성을 상속 :
import tkinter as tk
class Game(tk.Tk):
class Period(tk.Frame, Game):
class PeriodSummary(tk.Frame,Period):
이
은 excpetion을 제공합니다. 왜 이것이 가능하지 않습니까?
상속이 어떻게 작동하는지에 대한 근본적인 오해가있는 것처럼 보입니다. 왜 'PeriodSummary'는 다른 클래스로부터 상속해야합니까? 왜 '기간'은 게임의 일부가 아닌 '게임'입니까? 그것이 성취했다고 생각합니까? –
'게임 '에는'기간 '이 많이 있습니다. 각 기간이 끝난 후에는 'PeriodSummary'프레임이 나타나기를 바랍니다. 'Period'는 게임에서 속성을 필요로하기 때문에'Game'에서 상속 받지만 속성은 다릅니다. – splinter
방금 쓴 내용을 읽으십시오 : 게임은 많은 시간을 보냈습니다. 각 기간은 상속이 말하는 게임이기도합니다. 하나의'Game' 객체는 속성으로서 여러 개의'Period' 객체를 가져야합니다. 상속을 사용하지 않기 때문에 데이터를 공유해야하기 때문에 상속을 사용하지 않으려 고합니다. –