MATLAB - запустить деструктор объекта при использовании 'clear'?

Предположим, у меня есть класс myClass . На странице справки Mathworks на очистите ,

Очистка графических маркеров дескрипторов не удаляет сами объекты, а удаление объектов не удаляет переменные, хранящие их дескрипторы.

hf = figure;  % Creates figure object, stores handle in variable hf
delete(hf)    % Removes figure object, but not the variable hf
clear hf      % Removes hf from the workspace; figure could still exist

Итак, очистить объект дескриптора не удаляет его из памяти, если я явно не удаляю его первым.

Я указал деструктор для myClass , чтобы выполнить надлежащую очистку и удалить некоторые ссылки к нему; этот деструктор не вызывается clear . Можно ли вызвать этот деструктор, когда мой объект очищен?

РЕДАКТИРОВАТЬ: Я должен упомянуть, что в то время как delete автоматически вызывается с clear , если нет ссылок на myClass , у меня есть другой класс, скажем myOtherClass со свойствами, которые относятся к myClass , скажем myOtherClass.a . В myOtherClass есть еще другие свойства, которые не являются свойствами myClass , но они должны быть пустыми, если myOtherClass.a также пуст. Дайте мне знать, если это не имеет смысла, возможно, это было слишком многословно.

11
задан chappjc 20 October 2013 в 00:34
поделиться