ich arbeite gerade an einem python projekt, wo es heißt mit Objekten zu arbeiten, die viele Daten beherbergen
Nun stellt sich die Frage wie geht ihr mit riesigen Konstruktoren um?
Bsp.:
Code: Alles auswählen
class A(object):
def __init__(self, a, b, c, d, f = None, g = None, weiter = None, nochweiter = None, nochsehrvielweiter = None, unendlich = None):
pass
Vor allem, was macht ihr wenn sich solche Konstruktoren über mehrere Klassen hinweg häufen?
Eine Möglichkeit wäre eine Vererbung festzustellen, aber nur da wo sie auch wirklich Sinn macht, und entsprechend die Konstruktoren anpassen:
Code: Alles auswählen
class A(object):
def __init__(self, a, b, c, d, f = None, g = None, weiter = None, nochweiter = None, nochsehrvielweiter = None, unendlich = None):
print a, b, c, d
pass
class B(A):
def __init__(self, *args, **kwargs):
super(*args, **kwargs)
pass
class C(A):
def __init__(self, *args, **kwargs):
super(*args, **kwargs)
pass
class D(A):
def __init__(self, *args, **kwargs):
super(*args, **kwargs)
pass
Leider wird es dadurch, sofern das Beispiel mal funktioniert, auch nicht wirklich übersichtlicher, da man immer bei A nachschauen muss, was denn überhaupt von B oder C verlangt wird.
Wie ihr seht befinde ich mich in einem Dilemma
Grüße,
anogayales