处理输入设定更改
此示例说明如何控制 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 = isInputSizeDataTypeImpl(~,~) flag = false; end function flag = isInputSizeMutableImpl(~,~) flag = false; end end