В этом примере показано, как управлять входными спецификациями для Системы 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