Main Content

处理输入设定更改

此示例说明如何控制 System object™ 的输入设定。您可以控制输入设定更改后产生的效果。

您还可以限制能否在对象使用过程中更改输入的复/实性、数据类型或大小。在您施加限制后,用户必须调用 release,才能更改这些方面。

响应输入设定更改

要在输入更改了大小、数据类型或复/实性时修改 System object 算法或属性,请实现 processInputSpecificationChangeImpl 方法。指定 System object 的各次调用之间输入设定更改时要执行的操作。

在此示例中,当任一输入为复数时,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

限制输入设定更改

要指定不能在使用 System object 使用过程中更改输入的复/实性、数据类型和大小,请实现 isInputComplexityMutableImplisInputDataTypeMutableImplisInputSizeMutableImpl 方法以返回 false。如果只想限制 System object 输入的某些方面,您可以只包含其中一个或两个方法。

methods (Access = protected)
   function flag = isInputComplexityMutableImpl(~,~)
       flag = false;
   end
   function flag = isInputSizeDataTypeImpl(~,~)
       flag = false;
   end
   function flag = isInputSizeMutableImpl(~,~)
       flag = false;
   end
end

 完整的类定义文件

另请参阅

相关主题