Seite 1 von 1
Klasseninstanzen löschen
Verfasst: Donnerstag 24. Juli 2003, 15:46
von newb
Hallo,
Kann mir einer sagen, wie ich die Instanzen einer Klasse lösche und somit den Destruktor auslöse?
Gruß
Ansgar
p.s: Das stand in keinem meiner Bücher
Re: Klasseninstanzen löschen
Verfasst: Donnerstag 24. Juli 2003, 16:33
von Voges
newb hat geschrieben:Kann mir einer sagen, wie ich die Instanzen einer Klasse lösche und somit den Destruktor auslöse?
Mit del(). Damit löschst Du zwar nicht die Instanz direkt, aber zumindest eine Referenz auf eine Instanz (unbind). Wenn's die einzige Referenz auf die Instanz war, wird Instanz dann auch (bei Gelegenheit) vom Garbage Collector gelöscht.
Jan
Re: Klasseninstanzen löschen
Verfasst: Donnerstag 24. Juli 2003, 17:50
von Qbi
newb hat geschrieben:Kann mir einer sagen, wie ich die Instanzen einer Klasse lösche und somit den Destruktor auslöse?
In Python kannst du keine Instanz löschen. Hier hast du einen Garbage Collector. Wenn keine Referenzen vorhanden sind, führt der die __del__ Methode aus und gibt den belegten Speicher frei.
Das ist ja doof
Verfasst: Donnerstag 24. Juli 2003, 21:56
von newb
Verfasst: Donnerstag 24. Juli 2003, 22:51
von Dookie
Hi Ansgar,
hmm gib der Klasse doch ein attribut "lebt" und setze das im falle des Ablebens auf 0, dann kannst abfragen
Code: Alles auswählen
if Einheit.lebt:
... mach was der lebt noch ...
else:
... hohl den Totengräber, der is hinüber ...
Gruß
Dookie
Toll
Verfasst: Freitag 25. Juli 2003, 09:53
von akIra
Toll jetzt hab ihr den newb wieder so überrumpelt, der wird kein Programmierer mehr
Verfasst: Dienstag 29. Juli 2003, 18:43
von newb
Glaub ich auch net @ akira
Aber Dookies vorschlag ist schon gut
Gruß
Ansgar