Ich habe eine Klasse, die Methoden und einen Konstruktor in Python enthält. Der Rückgabewert des Konstruktors wird ein Objekt sein, aber ich brauche einen Rückgabewert einer Klasse (Konstruktor) wie numbers.Number
Typ.Wie ändert man die Superklasse eines Objekts?
Ist es möglich, den Rückgabewert der Klasse durch Hinzufügen numbers.Number
als Super-Klasse dieser Klasse zu ändern, und wenn ja, könnte jemand beschreiben, wie es geht?
class Num(Parent):
#Some Code
#Here Parent must be inherited
class Foo(Num):
#Foo Should return of type numbers.Number
#Here Num must be inherited
Jetzt möchte ich Foo
number.Number
Wert zurückgeben, wenn wir Konstruktor Foo
nennen.
Ihre Fabrik Klassenzahlen nicht haben muss. Number als Basisklasse, um Objekte dieses Typs zu erstellen. Es kann nur eine Methode geben, die Objekte dieses Typs erzeugt und zurückgibt. Vielleicht vermisse ich etwas. –
Konstruktoren in Python geben nichts zurück. Zu dem Zeitpunkt, an dem sie aufgerufen werden, ist eine Klasseninstanz eines Typs, der bereits existiert, erforderlich. Konstruktor muss lediglich eine weitere Initialisierung durchführen. Sie können das tun, was Sie wollen, indem Sie die Methode '__new __()' überschreiben, die den Typ des erstellten Objekts bestimmt. Alternativ benötigen Sie möglicherweise etwas, das manchmal als "virtueller Konstruktor" bezeichnet wird. Suchen Sie nach diesem Begriff. Wenn Sie in Ihrer Frage tatsächlich Code hatten, der veranschaulicht, was Sie tun möchten, könnten Sie bessere (oder zumindest konkretere) Antworten erhalten. – martineau
@martineau vielleicht bist du auf dem richtigen weg, kannst du das mit gegebenem code von mir in frage stellen? – Meet