Ich habe ein Objekt mit einem bestimmten Status. Das Objekt wird herumgereicht und sein Zustand wird vorübergehend verändert. Etwas wie:Java, Ausführen einer Methode, wenn der Objektbereich endet
public void doSomething(MyObject obj) {
obj.saveState();
obj.changeState(...);
obj.use();
obj.loadState();
}
In C++ ist es möglich, den Umfang eines Objekts zu verwenden, einige Code ausgeführt werden, wenn die Konstruktion und distructing, wie
NeatManager(MyObject obj) { obj.saveState(); }
~NeatManager() { obj.loadState(); }
und nennen Sie es wie
void doSomething(MyObject obj) {
NeatManager mng(obj);
obj.changeState();
obj.use();
}
Diese vereinfacht die Arbeit, da das Speichern/Laden mit dem Bereich NeatManager
Objekt gebunden ist. Ist es möglich, so etwas in Java zu tun? Gibt es eine Möglichkeit, eine Methode aufzurufen, wenn das Objekt den Gültigkeitsbereich verlässt, in dem es deklariert wurde? Ich spreche nicht über finalize()
noch "Zerstörung" (Garbage Collection), ich interessiere mich für den Anwendungsbereich.
Danke
Dank, interessant zu hören, dazu in Java7:
Für Java 6 Sie die damit verbundene Frage sehen möchten. – AkiRoss