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 の使用中における入力の実数/複素数、データ型およびサイズを変更不可に指定するには、isInputComplexityMutableImplisInputDataTypeMutableImpl および isInputSizeMutableImpl の各メソッドが false を返すように実装します。System object 入力の一部の要素のみを制限する場合、これらのメソッドの 1 つまたは 2 つだけを含めることができます。

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

 完全なクラス定義ファイル

参考

関連するトピック