Используйте save
и load
, чтобы сохранить и перезагрузить объекты:
save filename object load filename object
Сохранение объектов в MAT-файлах сохраняет:
Полное имя класса объекта, включая любые спецификаторы пакета
Значения динамических свойств
Все значения свойства по умолчанию, заданные классом в то время первый объект класса, сохранены в MAT-файл.
Имена и значения всех свойств, за следующими исключениями:
Свойства не сохранены, если их текущие значения совпадают со значениями по умолчанию, заданными в определении класса.
Свойства не сохранены, если их Transient
, Constant
или Dependent
приписывают набор true
.
Для описания атрибутов свойства смотрите, Задают Атрибуты свойств
Чтобы сохранить графические объекты, смотрите savefig
.
Не используйте команду pack
с объектами, которые задают события и прослушиватели. Команда pack
вызывает разрушение любых прослушивателей, заданных для объектов в рабочей области. Для получения информации о восстановлении прослушивателей при сохранении объектов смотрите Прослушиватели Восстановления.
Когда загружаемые объекты из MAT-файлов, функция load
восстанавливает объект.
load
создает новый объект.
Если класс, атрибут ConstructOnLoad
установлен в true
, load
, вызывает конструктора класса без аргументов. В противном случае load
не вызывает конструктора класса.
load
присваивает сохраненные значения свойств свойствам объектов. Эти присвоения приводят к вызовам методов набора свойств, заданных классом (кроме случая Dependent
, Constant
или свойств Transient
, которые не являются сохраненными или загруженными).
load
присваивает значения по умолчанию, сохраненные в MAT-файле к свойствам, значения которых не были сохранены, потому что свойства были установлены в значения по умолчанию, когда сохраненный. Эти присвоения приводят к вызовам методов набора свойств, заданных классом.
MATLAB® вызывает методы набора свойств, чтобы гарантировать, что значения свойств все еще допустимы в случаях, где определение класса изменилось.
Для получения информации о методах набора свойств см. Методы Набора свойств.
Если новая версия класса удаляет, переименовывает или изменяет валидацию для свойства, load
может сгенерировать ошибку при попытке установить измененное или удаленное свойство.
Когда ошибка происходит, в то время как объект загружается из файла, MATLAB выполняет одно из следующих действий:
В struct
, переданном методу loadobj
, имена полей соответствуют именам свойства. Значения полей являются сохраненными значениями для соответствующих свойств.
Если сохраненный объект выводит от нескольких суперклассов, которые имеют частные свойства с тем же именем, struct
содержит только значение свойства самого прямого суперкласса.
Для получения информации о том, как реализовать saveobj
и методы loadobj
, смотрите, Изменяют Процесс Сохранения и Загрузки.
Если определение класса изменяет валидацию свойства, таким образом, что загруженные значения свойств больше не действительны, MATLAB заменяет в настоящее время заданным значением по умолчанию то свойство. Класс может задать метод loadobj
или методы конвертера, чтобы обеспечить совместимость среди версий класса.
Для получения информации о валидации свойства см. Проверку значений свойств