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