Hi,
I'm trying to extend the inputParser class, and hereby also extend the method parse() from that class.
Is it at all possible? The documentation seems to explain how to do this:
Here is my subclass with extended method:
classdef myInputParser < inputParser
properties
Extra
end
methods
% Class constructor
function obj = myInputParser()
obj.Extra.test = 0;
end
% Extend inputParser superclass method parse()
function parse(obj, varargin)
% preprocessing steps
parse@inputParser(obj, varargin{:});
% postprocessing steps
obj.Extra = obj.Results;
end
end
end
I create the object, and parse the input like so:
p = myInputParser;
p.parse(varargin{:})
When calling the parse() method on the object, it doesn't seem to call the extended parse() in the subclass.
What am I missing? Any help would be greatly appreciated.

 Respuesta aceptada

No Name
No Name el 14 de Dic. de 2018

0 votos

When I restarted MATLAB, it worked.
After that I read about the command "clear classes", which might have helped as well. I had to clear the cache or something.

2 comentarios

per isakson
per isakson el 14 de Dic. de 2018
Editada: per isakson el 14 de Dic. de 2018
Yes, but the name of the constructor should be identical to the name of the class.
And the method
function parse(obj)
% preprocessing steps
parse@inputParser(obj);
% postprocessing steps
obj.Extra = obj.Results;
end
should read something like
function parse(obj,varargin)
% preprocessing steps
parse@inputParser(obj,varargin{:});
% postprocessing steps
obj.Extra = obj.Results;
end
No Name
No Name el 14 de Dic. de 2018
Correct, I edited my original post.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Software Development en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 13 de Dic. de 2018

Editada:

el 14 de Dic. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by