Python クラスとサブクラスを使用した最初の例を次に示します。ここでの問題は、属性 ParentUI がオーバーライドされることです。
class OptUI(object):
def __init__(self, ParentUI):
self.ParentUI = ParentUI
class ListUI(object):
def __init__(self, ParentUI):
self.ParentUI = ParentUI
class Window(OptUI, ListUI):
MainFrame = "MainFrame"
TestFrame = "TestFrame"
def __init__(self):
OptUI.__init__(self, self.MainFrame)
ListUI.__init__(self, self.TestFrame)
Window クラスで継承の代わりにインスタンスを使用すると解決策があります。
class Window(object):
MainFrame = "MainFrame"
TestFrame = "TestFrame"
def __init__(self):
self.OUI = OptUI(self.MainFrame)
self.LUI = ListUI(self.TestFrame)
2 番目のケースでは、ParentUI 属性の準名前空間があります。これは実際に良い方法ですか?このように解決すればよいのでしょうか。