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!

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 31 de Oct. de 2012

0 votos

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 comentarios

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Entering Commands en Centro de ayuda y File Exchange.

Productos

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by