保存和加载对象的过程
保存并加载对象
保存文件名目的加载文件名目的
保存了哪些信息?
保存Mat-Files中的对象保存:
对象类的全名,包括任何包限定符
动态属性的值
所有属性默认值在类中第一个对象的类定义为sop文件。
所有属性的名称和值,具有以下例外:
如果它们的当前值与类定义中指定的默认值相同,则不会保存属性。
如果他们的情况不会保存属性
短暂的
那持续的
, 要么依赖
属性设置为真的
。
有关属性属性的描述,请参阅指定属性属性
要保存图形对象,请参阅Savefig
。
如何加载属性数据?
从MAT文件加载对象时,加载
函数恢复对象。
加载
创建一个新对象。如果是课程
构造函数
属性设置为真的
那加载
呼叫没有参数的类构造函数。否则,加载
不调用类构造函数。加载
将保存的属性值分配给对象属性。这些分配的值受此类定义的任何属性验证。然后调用类定义的任何属性集方法,(在此情况下除外依赖
那持续的
, 要么短暂的
属性,不保存或加载)。加载
将保存在Mat文件中保存的默认值分配给未保存的属性,因为在保存时将属性设置为默认值。这些分配导致调用类定义的属性集方法。如果加载对象的属性包含对象,则
加载
创建同一类的新对象并将其分配给属性。如果属性中包含的对象是句柄对象,则属性包含同一类的新句柄对象。
马铃薯草®调用属性集方法,以确保在类定义已更改的情况下仍然有效。
负载期间的错误
如果一个新版本的类删除,重命名或更改属性的验证,加载
尝试设置更改或已删除属性时可以生成错误。
当从文件加载对象时发生错误时,MATLAB会执行以下操作之一:
在里面塑造
传给了loadobj.
方法,字段名称对应于属性名称。字段值是相应属性的保存值。
如果已保存的对象派生来自具有相同名称的私有属性的多个超级类,则塑造
仅包含最直接超类的属性值。
有关如何实施的信息saveobj.
和loadobj.
方法,参见修改保存和加载过程。
变更财产验证
如果类定义更改属性验证,例如加载的属性值不再有效,则MATLAB替换该属性的当前定义的默认值。这个班级可以定义一个loadobj.
方法或转换方法提供类版本之间的兼容性。
有关物业验证的信息,请参阅验证属性值