入力仕様の変更の取り扱い
この例では、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