В этом примере показано, как управлять спецификациями ввода для системного object™. Можно управлять тем, что происходит при изменении входной спецификации.
Можно также ограничить возможность изменения сложности ввода, типа данных или размера во время использования объекта. Любые аспекты, которые вы ограничиваете, не могут быть изменены до тех пор, пока пользователь не вызовет release.
Чтобы изменить алгоритм или свойства объекта System при изменении размера, типа данных или сложности ввода, реализуйте processInputSpecificationChangeImpl способ. Укажите действия, выполняемые при изменении входной спецификации между вызовами объекта System.
В этом примере: processInputSpecificationChangeImpl изменяет isComplex если любой из входных данных является сложным.
properties(Access = private)
isComplex (1,1) logical = false;
end
methods (Access = protected)
function processInputSpecificationChangeImpl(obj,input1,input2)
if(isreal(input1) && isreal(input2))
obj.isComplex = false;
else
obj.isComplex = true;
end
end
endЧтобы указать, что сложность ввода, тип данных и размер не могут изменяться во время использования объекта System, реализуйте isInputComplexityMutableImpl, isInputDataTypeMutableImpl, и isInputSizeMutableImpl методы для возврата false. Если требуется ограничить только некоторые аспекты ввода объекта Система, можно включить только один или два из этих методов.
methods (Access = protected) function flag = isInputComplexityMutableImpl(~,~) flag = false; end function flag = isInputSizeDataTypeImpl(~,~) flag = false; end function flag = isInputSizeMutableImpl(~,~) flag = false; end end