文档帮助中心文档
包:事件超类:事件。EventData
事件。EventData
事件数据InstanceCreated和InstanceDestroyed事件
InstanceCreated
InstanceDestroyed
类定义传递给监听器的事件数据meta.classInstanceCreated和InstanceDestroyed事件。
meta.class
的事件。ClassInstanceEvent类是一个处理类。
事件。ClassInstanceEvent
处理
密封
真正的
ConstructOnLoad
HandleCompatible
RestrictsSubclassing
有关类属性的信息,请参见类属性.
MATLAB®创建一个事件。ClassInstanceEvent对象时触发InstanceCreated或InstanceDestroyed事件。
全部展开
实例
正在创建或删除的对象。
GetAccess
公共
SetAccess
私人
GetObservable
SetObservable
数据类型:对象
对象
源
meta.class对象,该对象是事件的源,返回为meta.class对象。
数据类型:meta.class
EventName
事件的名称,作为字符向量返回InstanceCreated或InstanceDestroyed.
数据类型:字符
字符
全部折叠
使用meta.class在创建和销毁对象时计算实例数量的事件。
类的回调函数创建一个类InstanceCreated和InstanceDestroyed事件。的eventCallback静态方法使用持久变量来存储存在的类实例的数量。的addeventlistener方法将侦听器添加到meta.class对象的CountInstances类。
eventCallback
addeventlistener
CountInstances
classdefCountInstances方法(静态)函数eventData eventCallback (~)%回调实例创建和实例销毁持续的instanceCount如果~ isempty (instanceCount)开关eventData。EventName情况下“InstanceCreated”instanceCount = instanceCount + 1;情况下“InstanceDestroyed”如果~instanceCount == 0 instanceCount = instanceCount - 1;结束结束其他的instanceCount = 1;结束流(“% s % d \ n”,...'实例数:'instanceCount)结束函数addeventlistener (mc)%添加监听器addlistener (mc,“InstanceCreated”,...@ (src evnt) CountInstances.eventCallback (src, evnt));addlistener (mc,“InstanceDestroyed”,...@ (src evnt) CountInstances.eventCallback (src, evnt));结束结束结束
创建一个meta.class对象的CountInstances类并为InstanceCreated和InstanceDestroyed事件。这个例子为两个事件使用了相同的回调。
mc = ? CountInstances;CountInstances.addEventListeners (mc)
当你创建或销毁一个对象CountInstances类时,该事件导致对instanceCount持续的变量。
instanceCount
其中obj1 = CountInstances;
实例数:1
methoda = CountInstances;
实例数:2
清晰的其中obj1
使用meta.class事件来观察对象的创建和销毁
类的回调函数创建一个类InstanceCreated和InstanceDestroyed事件。的eventCallback静态方法充当这两个事件的回调函数。的addeventlistener方法将侦听器添加到meta.class对象的ClassInstanceEvent类。
ClassInstanceEvent
classdefClassInstanceListeners属性道具结束方法函数obj = ClassInstanceListeners(p)支持= p;结束结束方法(静态)函数eventData eventCallback (~)%回调实例创建和实例销毁我= eventData.Instance;S = eventData.Source;E = eventData.EventName;虚线= sprintf (“% s \ n”,'--------------------');流(' % s '虚线)流(“% s \ n”,[”类,“类(I)])流(“% s % d \ n”, (S.PropertyList.Name“:”), I.Prop)流(“% s % s \ n”,”事件,“, E)流(' % s '虚线)结束函数addeventlistener (mc)%添加监听器addlistener (mc,“InstanceCreated”,...@ (src evnt) ClassInstanceListeners.eventCallback (src, evnt));addlistener (mc,“InstanceDestroyed”,...@ (src evnt) ClassInstanceListeners.eventCallback (src, evnt));结束结束结束
创建一个meta.class对象的CreateInstanceListeners类并为InstanceCreated和InstanceDestroyed事件。这个例子为两个事件使用了相同的回调。的实例CreateInstanceListeners类并将标识符分配给属性道具.
CreateInstanceListeners
道具
mc = ? ClassInstanceListeners;obj = ClassInstanceListeners(1334);
-------------------- 类:ClassInstanceListeners道具:1334事件:InstanceCreated --------------------
构造另一个赋值给相同变量的实例将创建一个新对象并销毁旧对象。
obj = ClassInstanceListeners (7335);
-------------------- 类:ClassInstanceListeners道具:7335事件:InstanceCreated -------------------- -------------------- 类:ClassInstanceListeners道具:1334事件:InstanceDestroyed --------------------
如果修改类定义,MATLAB会删除meta.class对象,因为它不再是类的有效描述。修改类之后,必须创建一个新的meta.class对象,并向其添加侦听器。
meta.class|addlistener
addlistener
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系