主要内容

このページの翻訳は最新ではありませ。

プロパティプロパティ値が変化しないないのの

値値変化しし合并の

プロパティ値を设定するとmatlab®はプロパティ预设のイベントをし,プロパティの设置メソッド(定义されてている合)を呼び出してプロパティ値をししますますます。

プロパティの替补属性を真的に设定すると,これらのアクションを回避でき。替补。

  • プロパティ値の设定。

  • 预设イベントとイベントのトリガー。

  • プロパティの设置メソッドの呼び出し(现处于するする合)。

値を比较するために,matlabはプロパティの现现値取得しなければなりません。所以在値を取得すること,プロパティの得到メソッド(得到。财产)が実行されます(现处于するする合)。プロパティの得到メソッドを呼び出すときに生するエラーは,matlabが现は场を変更しない场でもユーザー表示されます。

马铃薯草が値をを比较方法

MATLABは关数是平等的を使用して,プロパティの现在値が新しい値と同じかどうかを判定します。替补属性を使用ししいるいるにににのの値値等価としてさかどうかを判断ににはかににはははははははは是平等的ののドキュメンテーションまたはプロパティプロパティ値のに対してオーバーロードオーバーロードされ是平等的メソッドを参照してください。

AbortSetをを用するする合

替补00替补属性を使用すると,割り当てが行われる前に现在の値と割り当てられる値が常に比较されるため,すべてのプロパティの割り当てが遅くなる可能性があります。替补属性属性,次のの合。

  • プロパティ値がが化しない结合は,预设イベントとイベントの通知およびリスナーコールバックの実行を回避する。

  • 

Abortsetのの装

以下の例,替补属性の动作方法を示します。aborttheset.クラスは,预先预设期刊およびイベントイベントに対するリスナーを,プロパティarchone.を定义し,替补属性を有象にし。

メモ

このクラスを使使使には,aborttheset.〖matlab〗

Classdef.aborttheset <把手属性(setobservable,getobservable,abortset)chapone = 7结尾方法功能obj = aborttheset addListener(obj,'advone''预装',@ obj.getprepropevt);AddListener(OBJ,'advone''预设',@ obj.setprepropevt);AddListener(OBJ,'advone''完成',@ obj.getpostpropevt);AddListener(OBJ,'advone''邮政编码',@ obj.setpostpropevt);结尾功能propval = get.propone(obj)disp('get.propone叫')propval = obj.propone;结尾功能set.propone(obj,val)disp('set.propone打电话')obj.propone = val;结尾功能getPrepropevt(OBJ,SRC,EVNT)DISP('Pre-Get事件触发'的)%......结尾功能setprepropevt(obj,src,evnt)disp('预设事件触发'的)%......结尾功能getpostpropevt(obj,src,evnt)disp('获得后事件触发'的)%......结尾功能SetPostPropevt(OBJ,SRC,EVNT)DISP(“设置后事件触发”的)%......结尾功能disp(obj)%过载DISP以避免访问属性DISP(类(obj))结尾结尾结尾

このクラスは,archone.プロパティプロパティに対して初値7.をを指定し。したがっしたがっ,オブジェクトを作用成し,プロパティ値7.をを场合,预设イベントをトリガー必要はませませ。ただし,割り当て割り当てた値と比较するためにgetPropone.メソッドが呼び出されて,プロパティの现在の値が取得されます。

obj = aborttheset;obj.propone = 7;
get.propone打电话

7.以外の値を指定すると,MATLABは以下の手顺を実行します。

  • 在のプロパティ値を取得する

  • 预设イベントをトリガーする

  • プロパティプロパティを割り当てられられた値设定设定

  • イベントをトリガーする

obj = aborttheset;obj.propone = 9;
get.propone称为预设置事件触发set.propone称为设置后的事件触发

プロパティ値をクエリすると,预先イベントと期刊イベントがトリガーされます。

obj.propone.
Pre-Get事件触发Get.Propone称为Get-Get事件触发ANS = 9

Abortsetととプロパティ検证の用

クラスのプロパティ定义でプロパティ検证と替补を使用するする合,matlabは现出者の値と割り当てられいるを比较する前に,プロパティ検证を评価しますたとえば,archone.プロパティに1行3列のサイズサイズ制をaborttheset.クラスを修正し。

Classdef.aborttheset <把手属性(setobservable,getobservable,abortset)%将大小限制为1-by-3%***********************archone.(1,3)= [7 7 7]%***********************结尾方法功能obj = aborttheset addListener(obj,'advone''预装',@ obj.getprepropevt);AddListener(OBJ,'advone''预设',@ obj.setprepropevt);AddListener(OBJ,'advone''完成',@ obj.getpostpropevt);AddListener(OBJ,'advone''邮政编码',@ obj.setpostpropevt);结尾功能propval = get.propone(obj)disp('get.propone叫')propval = obj.propone;结尾功能set.propone(obj,val)disp('set.propone打电话')obj.propone = val;结尾功能getPrepropevt(OBJ,SRC,EVNT)DISP('Pre-Get事件触发'的)%......结尾功能setprepropevt(obj,src,evnt)disp('预设事件触发'的)%......结尾功能getpostpropevt(obj,src,evnt)disp('获得后事件触发'的)%......结尾功能SetPostPropevt(OBJ,SRC,EVNT)DISP(“设置后事件触发”的)%......结尾功能disp(obj)%过载DISP以避免访问属性DISP(类(obj))结尾结尾结尾

MATLABはスカラー拡张を适しサイズサイズ制をためため,以下のによって预设またはイベントイベントがトリガーさされるはありませませ

obj = aborttheset;obj.propone = 7;
get.propone打电话
obj.propone.
Pre-Get事件触发Get.Propone称为Get-Get事件触发ANS = 7 7 7

プロパティ検证の详细については,プロパティ値の検证を参照してください。

关键词する