处理输入设定更改
此示例说明如何控制 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 使用过程中更改输入的复/实性、数据类型和大小,请实现 isInputComplexityMutableImpl、isInputDataTypeMutableImpl、isInputSizeMutableImpl 方法以返回 false。如果只想限制 System object 输入的某些方面,您可以只包含其中一个或两个方法。
methods (Access = protected) function flag = isInputComplexityMutableImpl(~,~) flag = false; end function flag = isInputDataTypeMutableImpl(~,~) flag = false; end function flag = isInputSizeMutableImpl(~,~) flag = false; end end
