类元数据
类元数据是什么?
类元数据信息可以从各种元类对象的类定义。使用元类对象来获取信息,而不必创建类的实例。元数据使编程类的检验。每个元类的属性、方法和事件包含类或类组件描述的信息。
所有类组件都有一个关联的元类,您访问的meta.class
对象。例如,创建meta.class
对象的matlab.mixin.Copyable
类:
mc = ? matlab.mixin.Copyable
mc =类与属性:名称:“matlab.mixin。复制,为处理对象的描述:实现复制方法在马…“DetailedDescription:“隐藏:0密封:0文摘:1枚举:0 ConstructOnLoad: 1 HandleCompatible: 1 InferiorClasses: {0 x1细胞}ContainingPackage: [1 x1元。包]PropertyList: [0 x1元。属性]MethodList: [19 x1元。方法]EventList: [1 x1元。事件]EnumerationMemberList: [0 x1元。EnumeratedValue] SuperclassList: [1 x1 meta.class]
元包
的元
包包含元类描述的定义类和类组件。类名表示组件所描述的元类。例如,每个类属性元。与之关联的属性。属性定义各自的元类类组件对应属性的对象。
meta.package
——访问meta.class
ContainingPackage
财产。meta.class
——创建类名或类对象使用元类
函数或吗?
操作符。meta.property
——访问meta.class
PropertyList
财产。meta.DynamicProperty
——获得的addprop
方法。meta.method
——访问meta.class
MethodList
财产。meta.event
——访问meta.class
EventList
财产。meta.EnumeratedValue
——访问meta.class
EnumerationMemberListList
财产。
元类对象
你不能直接通过调用相应的类构造函数实例化元类。创建元类对象的类实例或类名。
吗?
——返回一个类名称
meta.class
为指定的类对象。使用meta.class.fromName
与类名称存储为字符变量。meta.class.fromName ('
——返回类名称
”)meta.class
对象指定的类(meta.class.fromName
是一个meta.class
方法)。元类(obj)
——返回一个元类对象类实例(元类
)
创建meta.class
使用对象的类名称吗?
接线员:
mc = ? MyClass;
创建meta.class
使用对象的类名称fromName
方法:
mc = meta.class.fromName (“MyClass”);
创建meta.class
对象类实例
obj = MyClass;mc =元类(obj);
的元类
函数的作用是:返回meta.class
对象(也就是说,对象的meta.class
类)。你可以获得其他元类对象(meta.property
,meta.method
,等等)meta.class
对象。
请注意
这里使用元类是一个术语,指的是所有的类元
包中。meta.class
是一个类的吗元
包的实例包含关于MATLAB的信息®类。元类中包含的类元数据信息。
元类对象生命周期
当你改变一个类的定义,MATLAB重新加载类定义。如果类的实例存在,MATLAB更新这些对象根据新的定义。
然而,MATLAB并不更新现有的元类对象新的类定义。如果你改变一个类定义在元类对象的类存在,MATLAB删除元类对象及其处理成为无效。您必须创建一个新的更新之后元类对象类。
有关如何修改和重新加载类的信息,明白了自动更新为修改后的类。