Wertübergabe zwischen Objekten verschiedener Klassen
Verfasst: Mittwoch 2. August 2023, 22:34
Moin,
ich bin neu hier, beschäftige mich schon länger mit Python, bin aber Autodidakt und mir oft nicht sicher, ob ich die besten Lösungen finde.
So auch hier. Ich habe ein kurzes Beispielprogramm geschrieben, das mein Problem aufzeigen soll und durchaus auch löst. Die Frage ist also, ob das besser / eleganter geht.
Was wollte ich machen?
Ein Objekt der Klasse Test kann über die Funktion objektAnlegen() Objekte der Klasse "dasObjekt" erstellen und übergibt ihnen einen Wert. Das erschaffene "dasobjekt"-Objek fügt nun einer Liste in dem "Test"-Objekt einen Wert hinzu, betreibt also quasi Datenaustausch mit ihm.
Sorry ich kann es leider nicht wirklich gut beschreiben, ich hoffe aber , man versteht, was ich meine. Wenn nein, hier der Code:
Ausgabe:
Wie gesagt, funktioniert soweit, aber irgendwie werde ich das Gefühl nicht los, dass es eine bessere Lösung geben könnte, also vor Allem mit dem "self.ich"
Vielen Dank für Euren Input!
ich bin neu hier, beschäftige mich schon länger mit Python, bin aber Autodidakt und mir oft nicht sicher, ob ich die besten Lösungen finde.
So auch hier. Ich habe ein kurzes Beispielprogramm geschrieben, das mein Problem aufzeigen soll und durchaus auch löst. Die Frage ist also, ob das besser / eleganter geht.
Was wollte ich machen?
Ein Objekt der Klasse Test kann über die Funktion objektAnlegen() Objekte der Klasse "dasObjekt" erstellen und übergibt ihnen einen Wert. Das erschaffene "dasobjekt"-Objek fügt nun einer Liste in dem "Test"-Objekt einen Wert hinzu, betreibt also quasi Datenaustausch mit ihm.
Sorry ich kann es leider nicht wirklich gut beschreiben, ich hoffe aber , man versteht, was ich meine. Wenn nein, hier der Code:
Code: Alles auswählen
class test():
def __init__(self):
self.objekte = [ ]
self.wert = [ ]
self.ich = self
def objektAnlegen(self, wertObjekt):
self.objekte += [dasObjekt(self.ich, wertObjekt)]
class dasObjekt():
def __init__(self,erschaffendesTestObjekt, wertObjekt):
self.erschaffendesTestObjekt = erschaffendesTestObjekt
self.wertObjekt = wertObjekt
self.erschaffendesTestObjekt.wert += [self.wertObjekt]
# main
testklasse = test()
testklasse.objektAnlegen(12)
print("Wert: ", testklasse.wert)
Ausgabe:
Code: Alles auswählen
Wert: [12]

Vielen Dank für Euren Input!
