MATLAB クラスで静的メンバー変数を定義する方法はありますか?
これは機能しません:
classdef A
properties ( Static )
m = 0;
end
end
「Static」の代わりに「Constant」というキーワードを使用することをお勧めします。定数のプロパティは変更できません。class のすべてのオブジェクトに共通の変数がA
必要で、その変数を class のメソッドで変更できるようにしたいと考えていますA
。
したがって、私が必要とするのはプライベート静的メンバー変数です。MATLAB で取得する方法はありますか?
静的メンバー関数で永続変数を使用して回避策を実行できることがわかりました。
この場合、次のような基本クラスからすべてのクラスを継承する必要があります。
classdef object < handle
properties ( GetAccess = 'public', SetAccess = 'private' )
id
end
methods ( Access = 'protected' )
function obj = object()
obj.id = object.increment();
end
end
methods ( Static, Access = 'private' )
function result = increment()
persistent stamp;
if isempty( stamp )
stamp = 0;
end
stamp = stamp + uint32(1);
result = stamp;
end
end
end