Set properties from Superclass in subclass
    11 views (last 30 days)
  
       Show older comments
    
    elevonm
 on 20 Aug 2021
  
    
    
    
    
    Commented: Turlough Hughes
      
 on 20 Aug 2021
            Hello, I have defined a superclass 'food.m' that has certain properties:
classdef food
    properties 
        vitamins
        protein
        carbs
    end
end
Now I want to define a subclass that inherits from the above, and also sets the vitamins property (in other words, I will want all instances of this subclass to have the property 'Vitamins' set to "C")
classdef fruit < food
    properties (Access = private)
        vitamins = "C"
    end
end
The following error is raised 
%Cannot define property 'vitamins' in class 'fruit' because the property has already been defined in the
%superclass 'food'.
How do I fix this?
Thank you in advance for your help!
0 Comments
Accepted Answer
  Turlough Hughes
      
 on 20 Aug 2021
        
      Edited: Turlough Hughes
      
 on 20 Aug 2021
  
      Set the Access attribute in the superclass:
classdef food
    properties 
        protein
        carbs
    end
    properties (Access = private)
        vitamins
    end
end    
otherwise, the default is that vitamins is defined as a public property in the superclass.
8 Comments
More Answers (0)
See Also
Categories
				Find more on Subclass Definition 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!