В этом примере показано, как управлять входными техническими требованиями для Системы object™. Можно управлять тем, что происходит, когда входная спецификация изменяется.
Можно также ограничить, могут ли входная сложность, тип данных или размер измениться, в то время как объект используется. Какой бы ни аспекты, которые вы ограничиваете, не могут измениться, пока пользователь не вызывает release.
Изменить алгоритм Системного объекта или свойства, когда входной размер изменений, тип данных или сложность, реализует processInputSpecificationChangeImpl метод. Задайте действия, чтобы взять, когда входная спецификация изменится между вызовами Системного объекта.
В этом примере, 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Чтобы указать, что входная сложность, тип данных и размер не могут измениться, в то время как Системный объект используется, реализуйте 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