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!

 Accepted Answer

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 Comments

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.

Sign in to comment.

More Answers (0)

Categories

Products

Tags

Community Treasure Hunt

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

Start Hunting!