Übergeben von Argumenten an den Superklassenkonstruktor, ohne sie im untergeordneten Klassenkonstruktor zu wiederholen
class P(object):
def __init__(self, a, b):
self.a = a
self.b = b
class C(P):
def __init__(self, c):
P.__init__()
self.c = c
obj = C(a, b, c) #want to instantiate a C with something like this
Ich möchte @ definierC
class Objekt ohne das ganze @ neu zu schreibP
class Konstruktor Argument inC
Konstruktor, aber der obige Code scheint nicht zu funktionieren. Was ist der richtige Ansatz dafür?
Klärung
Die Idee ist, zu vermeiden, dass die Konstruktorargumente der übergeordneten Klasse in den Konstruktor der untergeordneten Klasse eingefügt werden. Es wiederholt sich einfach zu viel. Alle meine Eltern- und Kinderklassen haben viele Argumente für Konstruktoren, so dass es nicht sehr produktiv und schwierig ist, sie immer wieder zu wiederholen. Ich versuche herauszufinden, ob ich nur definieren kann, was für die untergeordnete Klasse in ihrem Konstruktor eindeutig ist, aber dennoch geerbte Attribute initialisieren kann.