Set properties from Superclass in subclass

34 visualizaciones (últimos 30 días)
elevonm
elevonm el 20 de Ag. de 2021
Comentada: Turlough Hughes el 20 de Ag. de 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!

Respuesta aceptada

Turlough Hughes
Turlough Hughes el 20 de Ag. de 2021
Editada: Turlough Hughes el 20 de Ag. de 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.
You can get a list of default property attributes here.
  8 comentarios
elevonm
elevonm el 20 de Ag. de 2021
Thank you very much for your help!
Turlough Hughes
Turlough Hughes el 20 de Ag. de 2021
Happy to help :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Class Introspection and Metadata en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by