Обработайте входные изменения спецификации

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

 Полный файл определения класса

Смотрите также

Похожие темы