自动更新为修改后的类
当MATLAB加载类定义
MATLAB®加载一个类定义:
第一次引用的类,比如创建一个实例,访问一个常数属性或调用一个类的静态方法。
当加载类的定义变化和MATLAB返回到命令提示符。
当你改变了MATLAB路径和导致不同的定义要使用的类。更改生效后MATLAB返回到命令提示符。
当你访问类的元数据。
MATLAB允许定义一个类只有一个存在在任何时候。因此,MATLAB试图更新所有现有对象类的自动符合新的类定义。你不需要打电话明确的类
删除现有的对象,当你改变自己的类定义。
请注意
使用MATLAB之外一个编辑器编辑器或者使用MATLAB在线™自动更新会导致延误。
自动更新的后果
MATLAB是一组基本规则当更新现有对象。一个自动更新会导致:
现有对象被更新为新的类定义。
一个错误如果MATLAB不能将对象转换为新的类定义或如果有一个错误在类定义本身。
这是一个例子,当你创建一个具体类的实例编辑类定义抽象类。
一个= MyClass;%编辑MyClass文摘一个
错误使用MyClass /显示无法更新对象,因为类“MyClass”现在是抽象的。
请注意
MATLAB不更新元类实例当你改变一个类的定义。你必须得到新的元数据在更新一个类的定义。
当类定义改变
MATLAB更新现有对象类定义的变化,包括下列情形:
值变化来处理——现有对象独立处理指的是不同的对象。
添加枚举成员——现有对象保存他们先前的枚举成员,即使底层的价值观已经改变了。
枚举成员——不使用现有对象删除删除成员有相同的枚举成员之前。使用现有对象删除成员删除成员替换为默认枚举的成员。
枚举块删除枚举成员使用。
超类定义更改,更改应用到所有子类的父类的层次结构。
超类添加或删除-改变应用于所有现有的超类对象。
行动不触发更新
这些行动不更新现有对象:
对象不更新,直到引用的方式暴露了变化,如调用对象显示或分配财产。
多个更新类定义
逐步更新不发生的。更新符合最新版本的类。
类文件对象的有效性与删除
删除一个类定义文件不会使无效的类的实例。然而,您不能调用现有的该类的对象上的方法。
当更新是不可能的
一些类更新导致无效的类定义。在这些情况下,对象不更新,直到错误解决:
添加一个超类可以导致一个属性或方法被定义了两次。
改变一个超类
密封
当它的一个子类的对象存在导致无效的子类定义。
一些类更新原因情况下,MATLAB无法更新现有对象符合修改后的类定义。这些情况导致错误直到你删除对象:
添加枚举块non-enumeration类
重新定义一个类是抽象的
删除一个类从一个异构的层次结构,导致没有预设来取代现有的异构数组中的对象
更新一个类来限制阵列形成的行为,如重载数组索引和连接。
继承一个
subsref
,subsasgn
,猫
,vertcat
,或horzcat
方法重新定义一个处理类是类的一个值。
类更新的潜在后果
更新后,现有的对象可以不兼容新的类定义。例如,一个新添加的属性可以要求执行构造函数是有效的。
删除或重命名属性可以失去数据的属性。例如,如果一个属性的唯一引用另一个对象,你删除属性的类,MATLAB删除对象,因为不再有任何引用它。
删除一个类从一个异构类层次结构可能导致无效的异构数组元素。在这种情况下,默认的对象为异构的层次结构替换这些数组元素。
更新类属性
改变类属性可以改变现有对象的行为或使对象无效。MATLAB返回一个错误当你访问无效的对象。
改变 | 效果 |
---|---|
使 |
访问现有对象返回一个错误。 |
改变 |
新创建的对象可以继承超类与现有对象不同。 |
改变 |
加载类遵循的当前值 |
改变 |
新创建的对象可以有不同的类层次结构比现有的对象。 |
改变 |
的类的超类和访问列表 |
改变 |
方法对现有的对象可以改变调度。 |
使 |
当访问现有的子类对象返回错误。 |
更新属性定义
当你改变类属性的定义,MATLAB应用更改现有的类的对象。
改变 | 效果 |
---|---|
添加属性 |
将新属性添加到现有类的对象。属性值设置为默认值(这是 |
删除属性 |
删除从现有对象类的属性。试图访问属性删除失败。 |
改变属性的默认值 |
不适用新的默认值现有类的对象。 |
转移财产子类和父类之间的关系 |
不适用不同的默认值属性定义父类和子类之间移动。 |
改变属性的属性值 |
适用于修改现有对象的类。 某些情况下需要过渡的步骤:
|
更新方法定义
当你改变类的定义方法,MATLAB受影响的类成员在现有对象的更改如下。
改变 | 效果 |
---|---|
添加方法 |
你可以叫新方法在现有对象的类。 |
修改方法 |
修改现有对象。 |
删除方法 |
你可以再调用删除方法现有对象。 |
改变方法属性值 |
申请更改现有的类的对象。 某些情况下需要过渡的步骤:
|
更新事件定义
改变 | 效果 |
---|---|
添加事件 |
现有对象的类支持新的事件。金宝app |
更改事件名称 |
新事件的名字是可见到现有类的对象。MATLAB:
|
删除事件 |
现有对象不再支持删除事件。金宝app |
更改事件属性值 |
申请更改现有的类的对象。 某些情况下需要过渡的步骤:
|