В этом примере показано, как прослушать изменения значения свойства. Этот пример использует:
PostSet
событие, предопределенное MATLAB®
SetObservable
атрибут свойства, чтобы включить запуск свойства PostSet
событие.
addlistener
обработайте метод класса, чтобы создать прослушиватель
classdef PropLis < handle % Define a property that is SetObservable properties (SetObservable) ObservedProp = 1 end methods function attachListener(obj) %Attach a listener to a PropListener object addlistener(obj,'ObservedProp','PostSet',@PropLis.propChange); end end methods (Static) function propChange(metaProp,eventData) % Callback for PostSet event % Inputs: meta.property object, event.PropertyEvent h = eventData.AffectedObject; propName = metaProp.Name; disp(['The ',propName,' property has changed.']) disp(['The new value is: ',num2str(h.ObservedProp)]) disp(['Its default value is: ',num2str(metaProp.DefaultValue)]) end end end
The PropLis
класс использует обычный метод (attachListener
), чтобы добавить прослушиватель для ObservedProp
свойство. Если на PropLis
класс задает конструктор, конструктор может содержать вызов на addlistener
.
Прослушиватель коллбэка является статическим методом (propChange
). MATLAB передает два аргумента при вызове этой функции:
metaProp
- a meta.property
объект для ObservedProp
eventData
один event.PropertyEvent
объект содержит специфичные для события данные.
Эти аргументы предоставляют информацию о свойстве и событии.
Используйте PropLis
класс путем создания образца и вызова его attachListener
метод:
plObj = PropLis; plObj.ObservedProp
ans = 1
plObj.attachListener plObj.ObservedProp = 2;
The ObservedProp property has changed. The new value is: 2 Its default value is: 1
addlistener
| event.proplistener
| listener