Входы параметров указателя

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

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

См. также

Похожие темы