exponenta event banner

saveObjectImpl

Класс: matlab. Система

Сохранить системный объект в MAT-файле

Синтаксис

s = saveObjectImpl(obj)

Описание

s = saveObjectImpl(obj) указывает свойства системных object™ и значения состояний, которые должны быть сохранены в структуре или MAT-файле.

Если не определить saveObjectImpl метод для класса объектов System, только общие свойства и свойства с помощью DiscreteState атрибуты сохранены. Чтобы сохранить любые частные или защищенные свойства или информацию о состоянии, необходимо определить saveObjectImpl в файле определения класса.

Ваш loadObjectImpl метод должен соответствовать вашему saveObjectImpl для обеспечения загрузки всех сохраненных свойств и данных.

Сведения о времени выполнения

save требования saveObject, который затем вызывает saveObjectImpl. Чтобы сохранить объект System в созданном коде, он должен быть разблокирован и не может содержать или быть дочерним объектом.

Конечные пользователи могут использовать load, который звонит loadObjectImpl для загрузки сохраненного объекта System в рабочую область.

Советы по разработке методов

  • Необходимо установить Access = protected для этого метода.

  • Сохраните состояние объекта, только если объект используется. Когда пользователь загружает сохраненный объект, он загружается в таком состоянии использования.

  • Для сохранения информации о дочерних объектах используйте связанный объект saveObject метод в пределах saveObjectImpl способ.

Входные аргументы

развернуть все

Дескриптор системного объекта, используемый для доступа к свойствам, состояниям и методам, определенным для объекта. Если ваш saveObjectImpl метод не использует объект, можно заменить этот ввод на ~.

Выходные аргументы

развернуть все

Сохраненные данные для загрузки.

Примеры

развернуть все

Определите, что сохранено для объекта System. Вызов версии базового класса saveObjectImpl для сохранения общих свойств. Затем сохраните все дочерние системные объекты и все защищенные и частные свойства. Наконец, сохраните состояние, если объект используется.

methods (Access = protected)
  function s = saveObjectImpl(obj)      
    s = saveObjectImpl@matlab.System(obj);
    s.child = matlab.System.saveObject(obj.child);
    s.protectedprop = obj.protectedprop;
    s.pdependentprop = obj.pdependentprop;
    if isLocked(obj)
      s.state = obj.state;
    end
  end
end
Представлен в R2012b