3

シリアルNIRFlexクラスから継承するクラスとしてインスタンス化されたオブジェクトがあります。コマンド ラインからプロパティに値を割り当てようとすると、次のようになります。0Text_mode

>> N.Text_mode = 0

次のエラーが表示されます。

Error using serial/subsasgn (line 146) 
The name 'Text_mode' is not an accessible property for an instance of class 'serial port objects'.

私のクラス定義、コンストラクター、および set メソッドは次のとおりです。

classdef NIRFlex < serial

    properties
        Text_mode
    end
    methods
        function obj = NIRFlex(port)
            obj = obj@serial(port);
        end

        function obj = set.Text_mode(obj,mode)
            if (mode == 1)||(mode == 2)
                obj.Text_mode = mode;
            else
                error('Invalid Text Mode');
            end
        end
    end
end

メソッドを削除すると、コマンド ラインでset任意の値をプロパティに割り当てることができますが、入力した値がまたはText_modeのみであることを確認する必要があります。12

プロパティ ドキュメント @ MathWorks を使用した組み込み型のサブクラスを確認しましたが、答えが見つかりませんでした。

4

1 に答える 1