Java, wykonująca metodę po zakończeniu zakresu obiektu
Mam obiekt o określonym stanie. Obiekt jest przekazywany i jego stan jest tymczasowo zmieniany. Coś jak:
public void doSomething(MyObject obj) {
obj.saveState();
obj.changeState(...);
obj.use();
obj.loadState();
}
W C ++ możliwe jest wykorzystanie zakresu obiektu do uruchomienia kodu podczas konstruowania i dystrybucji
NeatManager(MyObject obj) { obj.saveState(); }
~NeatManager() { obj.loadState(); }
i nazwij to jak
void doSomething(MyObject obj) {
NeatManager mng(obj);
obj.changeState();
obj.use();
}
Upraszcza to pracę, ponieważ składowanie / ładowanie jest powiązane z zakresemNeatManager
obiekt. Czy można zrobić coś takiego w Javie? Czy istnieje sposób wywołania metody, gdy obiekt wychodzi poza zakres, w którym został zadeklarowany? Nie mówię o tymfinalize()
ani „zniszczenie” (zbieranie śmieci), interesuje mnie zakres.
Dzięki