MATLAB Object-Oriented Programming

(Joyce) #1

get.PropOne called
Pre-set event triggered
set.PropOne called
Post-set event triggered


If you query the property value, the PreGet and PostGet events are triggered.


obj.PropOne


Pre-get event triggered
get.PropOne called
Post-get event triggered


ans =


9


Using AbortSet with Property Validation


When classes use property validation and AbortSet in a property definition, MATLAB
evaluates the property validation before comparing the current value to the value being
assigned. For example, revise the AbortTheSet class to add a size restriction of 1-by-3 to
the PropOne property.


classdef AbortTheSet < handle
properties (SetObservable, GetObservable, AbortSet)
% Restrict size to 1-by-3
%
PropOne (1,3) = [7 7 7]
%

end
methods
function obj = AbortTheSet
addlistener(obj,'PropOne','PreGet',@obj.getPrePropEvt);
addlistener(obj,'PropOne','PreSet',@obj.setPrePropEvt);
addlistener(obj,'PropOne','PostGet',@obj.getPostPropEvt);
addlistener(obj,'PropOne','PostSet',@obj.setPostPropEvt);
end
function propval = get.PropOne(obj)
disp('get.PropOne called')
propval = obj.PropOne;
end
function set.PropOne(obj,val)
disp('set.PropOne called')


Assignment When Property Value Is Unchanged
Free download pdf