Matlab static variable that can be modified by super class and sub class?

I have following structure where I have a superclass and two subclasses
classdef A
properties
staticvar
end
end
And two subclasses of A
classdef B < A
properties
end
end
classdef C < A
properties
end
end
Is there a way I can use "staticvar" such that the "staticvar" value can be modified by any of the classes and its value is reflected when accessed by any of the class?

 採用された回答

Matt J
Matt J 2021 年 10 月 13 日
編集済み: Matt J 2021 年 10 月 13 日
You mean you want all instances of the class and its subclasses to share the same copy of staticvar? If so, you can write the superclass like this.
classdef A
properties(Dependent)
staticvar
end
methods
function val=get.staticvar(~)
val=manage_staticVar;
end
function obj=set.staticvar(obj,val)
manage_staticVar(val);
end
end
end
function out=manage_staticVar(val) %Not a class method - can be class-related function
persistent p
if nargin, p=val; end
out=p;
end

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeClass Introspection and Metadata についてさらに検索

質問済み:

2021 年 10 月 12 日

編集済み:

2021 年 10 月 13 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by