Предположим, у меня есть класс myClass
очистите
,
Очистка графических маркеров дескрипторов не удаляет сами объекты, а удаление объектов не удаляет переменные, хранящие их дескрипторы.
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
также пуст. Дайте мне знать, если это не имеет смысла, возможно, это было слишком многословно.