文档

meta.class

描述MATLAB

描述

的实例meta.class类包含关于MATLAB的信息®类。的读/写属性meta.class类与类属性和设置只在类定义的classdef线。你可以查询的只读属性meta.class对象来获取信息所指定的语法类(例如,获得类的名称)。

你不能实例化一个meta.class直接对象。你可以建立一个meta.class从一个类的实例对象或使用类名:

  • 元类——返回一个meta.class对象代表对象作为参数传递。

  • 吗?类名称——返回一个meta.class对象代表指定的类。

  • fromName——静态方法返回meta.class对象代表指定的类。

例如,元类函数的作用是:返回meta.class对象代表MyClass

ob = MyClass;obmeta =元类(ob);obmeta.Name
ans = MyClass

你可以使用类名来获得meta.class对象:

obmeta = ? MyClass;

您还可以使用fromName静态方法:

obmeta = meta.class.fromName (“MyClass”);

属性

财产 目的

文摘属性,默认=

如果真正的,这个类是一个抽象类不能被实例化)。

有关更多信息,请参见抽象类

ConstructOnLoad属性,默认=

如果真正的,MATLAB调用类的构造函数从MAT-file时自动加载对象。因此,建设必须实现,这样不带参数调用它不会产生一个错误。

看到保存和加载过程对象

ContainingPackage只读

一个meta.package对象描述这个类包含的包,或一个空对象如果这个类不是一个包。

看到包创建名称空间

描述只读

目前没有使用。

DetailedDescription只读

目前没有使用。

枚举属性,默认=

如果真正的,这个类是一个枚举类。看到定义枚举类

EventList只读

一个数组的meta.event对象描述这个类定义的每个事件,包括所有继承事件。

看到事件

事件只读

使用EventList而不是

一个细胞的数组meta.event对象描述这个类定义的每个事件,包括所有继承事件。

EnumerationMemberList

一个数组的meta.EnumeratedValue对象描述一个枚举类定义的成员名。

看到枚举关于枚举类的更多信息。

EnumeratedValues只读

使用EnumeratedMemberList而不是

一个细胞的数组meta.EnumeratedValue对象描述一个枚举类定义的成员名。

看到枚举关于枚举类的更多信息。

隐藏的属性,默认= 如果设置为真正的,没有出现在MATLAB命令或工具的输出显示类名。
InferiorClasses属性,默认={}

一个细胞的数组meta.class所代表的对象定义类的优先级列表,不如这个类。

看到类优先

MethodList只读

一个数组的meta.method对象描述这个类定义的每个方法,包括所有继承公共和保护方法。

看到方法在课堂上设计

方法只读

使用MethodList而不是

一个细胞的数组meta.method对象描述这个类定义的每个方法,包括所有继承公共和保护方法。

的名字只读 类名与此相关meta.class对象(字符数组)
PropertyList只读

一个数组的meta.property对象描述该类定义的每个属性,包括公共和保护所有继承属性。

看到属性

属性只读

使用PropertyList而不是

一个细胞的数组meta.property对象描述该类定义的每个属性,包括公共和保护所有继承属性。

看到属性

RestrictsSubclassing只读

如果类不是密封和有一个空列表AllowedSubclasses在类定义中,这个属性被设置为。如果类密封或指定任何AllowedSubclasses设置此属性真正的

看到指定允许子类

密封属性,默认=

如果真正的不能从它派生出子类,类。

SuperClassList只读

一个数组的meta.class描述每个对象直接超类,这个类派生。

看到设计子类构造函数

超类只读

使用SuperClassList而不是

一个细胞的数组meta.class描述每个对象直接超类,这个类派生。

方法

方法 目的
fromName 返回meta.class对象与指定的类名。
tf = eq (Cls) 平等函数(a = =)。使用测试两个变量是否指向相同类(包含完全相同的类列表的元素)。
tf = ne (Cls) 不等于函数(~ = b)。用于测试两个变量是否指向不同的元类。
里昂证券(ClsA) tf = lt (ClsB) 不到函数(里昂证券(ClsA) < ClsB)。用来确定里昂证券(ClsA)是一个严格的子类ClsB(即。,a strict subclass meansClsX < ClsX)。
里昂证券(ClsA) tf =勒(ClsB) 小于或等于函数(里昂证券(ClsA) < = ClsB)。用来确定里昂证券(ClsA)是一个子类ClsB
里昂证券(ClsA) tf = gt (ClsB) 大于函数(里昂证券(ClsA) > ClsB)。用来确定里昂证券(ClsA)是一个严格的超类的ClsB(即。,a strict superclass meansClsX > ClsX)。
里昂证券(ClsA) tf =通用电气(ClsB) 大于或等于函数(里昂证券(ClsA) > = ClsB)。用来确定里昂证券(ClsA)是一个超类的ClsB

事件

事件 目的

InstanceCreated

如果类是一个处理类,这事件发生时每次创建这个处理类的新实例,包括新实例的任何子类。事件发生后立即所有构造函数执行完成。

InstanceDestroyed

如果类是一个处理类,这事件发生时每次该句柄类的一个实例被摧毁了,包括所有的子类。析构函数之前事件发生时立即执行。

例子

发现使用财产属性处理findobj方法和audioplayermeta.class对象。确定一个类定义了属性命名SampleRate和它有公共设置访问。

mc = ? audioplayer;议员= findobj (mc.PropertyList,“名字”,“SampleRate”);比较字符串(mp.SetAccess“公共”)
这个主题有帮助吗?