入力仕様の変更の取り扱い
この例では、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 入力の一部の要素のみを制限する場合、これらのメソッドの 1 つまたは 2 つだけを含めることができます。
methods (Access = protected) function flag = isInputComplexityMutableImpl(~,~) flag = false; end function flag = isInputDataTypeMutableImpl(~,~) flag = false; end function flag = isInputSizeMutableImpl(~,~) flag = false; end end
