Does Matlab support destructor function in class?

For a normal class (not a handle class), can we set a destructor function so that when deleting a class instance, it does some house keeping work itself?
For example, I have a class containing a timer. When I delete the class, the timer handle is deleted, but the timer is still there and may be running. I have to remember to delete the timer manually before deleting the class.
Is Matlab considering adding this in newer versions? Thanks!

 Risposta accettata

Sean de Wolski
Sean de Wolski il 31 Ott 2012
You will have to write your own delete() method for the class. Then when you delete the object, this method is called and it stops/deletes the timer.

3 Commenti

Would delete() be called automatically when an instance is cleaned up automatically such as it going out of scope?
I don't think so. Value classes do not have a delete method.
I should look again at how onCleanup() works.

Accedi per commentare.

Più risposte (0)

Categorie

Prodotti

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by