Использование 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-файле к свойствам, значения которых не были сохранены, потому что свойства были установлены в значения по умолчанию, когда сохраненный. Эти присвоения приводят к вызовам методов набора свойств, заданных классом.
Если свойство объектного загружения содержит объект, то load
создает новый объект того же класса и присваивает его свойству. Если объект, содержавшийся в свойстве, является объектом указателя, то свойство содержит новый объект указателя того же класса.
MATLAB® вызывает методы набора свойств, чтобы гарантировать, что значения свойств все еще допустимы в случаях, где определение класса изменилось.
Для получения информации см. Методы Набора свойств и Проверку значений свойств.
Если новая версия класса удаляет, переименовывает или изменяет валидацию для свойства, load
может сгенерировать ошибку при попытке установить измененное или удаленное свойство.
Когда ошибка происходит, в то время как объект загружается из файла, MATLAB выполняет одно из следующих действий:
В struct
переданный loadobj
метод, имена полей соответствуют именам свойства. Значения полей являются сохраненными значениями для соответствующих свойств.
Если сохраненный объект выводит из нескольких суперклассов, которые имеют частные свойства с тем же именем, struct
содержит только значение свойства самого прямого суперкласса.
Для получения информации о том, как реализовать saveobj
и loadobj
методы, смотрите, Изменяют Процесс Сохранения и Загрузки.
Если определение класса изменяет валидацию свойства, таким образом, что загруженные значения свойств больше не действительны, MATLAB заменяет в настоящее время заданным значением по умолчанию то свойство. Класс может задать loadobj
метод или методы конвертера, чтобы обеспечить совместимость среди версий класса.
Для получения информации о валидации свойства см. Проверку значений свойств