主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

事件。ClassInstanceEventクラス

パッケ,ジ:事件
ス,パ,クラス:事件。EventData

InstanceCreatedベントとInstanceDestroyed@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

説明

このクラスは,meta.classInstanceCreatedベントとInstanceDestroyed@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

事件。ClassInstanceEventクラスは处理クラスです。

クラスの属性

密封
真正的
ConstructOnLoad
真正的
HandleCompatible
真正的
RestrictsSubclassing
真正的

クラス属性の詳細にいては,クラスの属性を参照してください。

作成

MATLAB®は,InstanceCreatedまたはInstanceDestroyedベントをトリガ,するときに,事件。ClassInstanceEventオブジェクトを作成します。

プロパティ

すべて展開する

作成または削除されているオブジェクト

属性:

GetAccess
公共
SetAccess
私人
GetObservable
真正的
SetObservable
真正的

デ,タ型:对象

ベントのソ,スであるmeta.classオブジェクト。meta.classオブジェクトとして返されます。

属性:

GetAccess
公共
SetAccess
私人
GetObservable
真正的
SetObservable
真正的

デ,タ型:meta.class

ベントの名前。InstanceCreatedまたはInstanceDestroyedである文字ベクトルとして返されます。

属性:

GetAccess
公共
SetAccess
私人
GetObservable
真正的
SetObservable
真正的

デ,タ型:字符

すべて折りたたむ

meta.class▪▪▪▪▪▪ベントを使用して,オブジェクトが作成または破棄されたときに▪▪▪ンスタンスの数をカウントします。

InstanceCreatedベントとInstanceDestroyedベントのコ,ルバック関数を使用してクラスを作成します。eventCallback静的メソッドは永続変数を使用して,存在するクラスの。addeventlistenerメソッドは,リスナ,をCountInstancesクラスのmeta.classオブジェクトに追加します。

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));结束结束结束

CountInstancesクラスのmeta.classオブジェクトを作成し,InstanceCreatedベントとInstanceDestroyedベントのリスナ,を追加します。この例では,両方の。

mc = ?CountInstances;CountInstances.addEventListeners (mc)

CountInstancesクラスのオブジェクトを作成または破棄するたびに,电子邮件ベントによってinstanceCount永続変数が更新されます。

obj1 = CountInstances;
实例数:1
obj2 = CountInstances;
实例数:2
清晰的其中obj1
实例数:1

meta.class@ @ベントを使用して,@ @オブジェクトの作成および破棄を確認します。

InstanceCreatedベントとInstanceDestroyedベントのコ,ルバック関数を使用してクラスを作成します。eventCallback静的メソッドは,両方の。addeventlistenerメソッドは,リスナ,をClassInstanceEventクラスのmeta.classオブジェクトに追加します。

classdefClassInstanceListeners属性道具结束方法函数obj = classinstancelistener (p) obj。道具= p;结束结束方法(静态)函数eventData eventCallback (~)%回调的实例创建和实例销毁I = eventData.Instance;S = eventData.Source;E = eventData.EventName;dashLine = sprintf(“% s \ n”'--------------------');流(' % s '虚线)流(“% s \ n”, (”类,“类(I)])流('%s %d \n', (S.PropertyList.Name“:”), I.Prop)流(“% s % s \ n””事件,“, E) fprintf(' % s '虚线)结束函数addeventlistener (mc)%添加监听器addlistener (mc,“InstanceCreated”...@ (src evnt) ClassInstanceListeners.eventCallback (src, evnt));addlistener (mc,“InstanceDestroyed”...@ (src evnt) ClassInstanceListeners.eventCallback (src, evnt));结束结束结束

CreateInstanceListenersクラスのmeta.classオブジェクトを作成し,InstanceCreatedベントとInstanceDestroyedベントのリスナ,を追加します。この例では,両方の。CreateInstanceListenersクラスのesc escンスタンスを作成し,プロパティ道具に識別子を割り当てます。

mc = ?ClassInstanceListeners;classinstancelistener . addeventlisteners (mc) obj = classinstancelistener (1334);
-------------------- 类:ClassInstanceListeners道具:1334事件:InstanceCreated  --------------------

同じ変数に割り当てられた別のインスタンスを作成すると,新しいオブジェクトが作成され,古いオブジェクトが破棄されます。

obj = ClassInstanceListeners(7335);
-------------------- 类:ClassInstanceListeners道具:7335事件:InstanceCreated  -------------------- -------------------- 类:ClassInstanceListeners道具:1334事件:InstanceDestroyed  --------------------

クラス定義を変更すると,meta.classオブジェクトはクラスの有効な説明ではなくなるため,MATLABではこのオブジェクトが削除されます。クラスを変更した後に,新しいmeta.classオブジェクトを作成して,リスナ,を追加しなければなりません。

参考

|

トピック

R2008aで導入