Main Content

saveObjectImpl

类: matlab.System

System object 保存在 MAT 文件中

语法

s = saveObjectImpl(obj)

说明

s = saveObjectImpl(obj) 指定要保存在结构体或 MAT 文件中的 System object™ 属性和状态值。

如果没有为 System object 类定义 saveObjectImpl 方法,则只会保存公共属性和具有 DiscreteState 特性的属性。要保存任何私有或受保护属性或状态信息,必须在您的类定义文件中定义 saveObjectImpl

您的 loadObjectImpl 方法应该对应于您的 saveObjectImpl 方法,以确保加载所有保存的属性和数据。

运行时详细信息

save 调用 saveObject,后者又调用 saveObjectImpl。要在生成的代码中保存 System object,该对象必须处于未锁定状态,并且不能包含子对象,也不能是子对象。

最终用户可以使用 load,它将调用 loadObjectImpl 以便将保存的 System object 加载到其工作区。

方法编写提示

  • 您必须先对此方法设置 Access = protected

  • 仅当对象处于使用中状态时才保存对象状态。当用户加载保存的对象时,对象将以该使用状态加载。

  • 要保存子对象信息,请使用 saveObjectImpl 方法内关联的 saveObject 方法。

输入参数

全部展开

System object 句柄,用于访问特定于该对象的属性、状态和方法。如果您的 saveObjectImpl 方法不使用该对象,您可以用 ~ 替换此输入。

输出参量

全部展开

保存的以供加载的数据

示例

全部展开

定义保存 System object 的哪些内容。调用 saveObjectImpl 的基类版本以保存公共属性。然后,保存任何子 System object 以及任何受保护和私有属性。最后,如果对象处于使用中状态,则保存状态。

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 中推出