1 つのクラスが 2 つのクラスを継承すると仮定します。一方は 1 つの引数を取り、もう一方は引数を取りません。サブクラスの順序とは関係なく、引数を受け入れるクラスに引数が確実に渡されるようにするにはどうすればよいですか?
具体的には、次の例に問題があります。
class Generic(object):
def __init__(self,data):
self.data=data
def do_data(self):
print(self.data)
class Generic2(object):
def __init__(self):
pass
def no_data(self):
print("No_data")
class MyClass(Generic2,Generic):
def __init__(self,data):
self.data=data
super().__init__(data)
A=MyClass("A")
init引数が原因で TypeError を返します。
エラーは、次を使用して簡単に修正できます。
...
class MyClass(Generic,Generic2):
...
super()
MRO を使用して初期化するクラスを決定すると仮定します。
問題は、Python3 で、サブクラスの順序に関係なく、引数が正しいサブクラスに確実に送信されるようにするにはどうすればよいかということです。
(優しくしてください...私は何でもOOについて非常に不安定な知識を持っています!)