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

1 回表示 (過去 30 日間)
Sohil Shrestha
Sohil Shrestha 2021 年 10 月 12 日
編集済み: Matt J 2021 年 10 月 13 日
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 件)

カテゴリ

Help Center および File ExchangeSubclass Definition についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by