Matlab static variable that can be modified by super class and sub class?
    6 views (last 30 days)
  
       Show older comments
    
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?
0 Comments
Accepted Answer
  Matt J
      
      
 on 13 Oct 2021
        
      Edited: Matt J
      
      
 on 13 Oct 2021
  
      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 Comments
More Answers (0)
See Also
Categories
				Find more on Class Introspection and Metadata in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
