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.

 Akzeptierte Antwort

No Name
No Name am 14 Dez. 2018

0 Stimmen

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 Kommentare

per isakson
per isakson am 14 Dez. 2018
Bearbeitet: per isakson am 14 Dez. 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 am 14 Dez. 2018
Correct, I edited my original post.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Argument Definitions finden Sie in Hilfe-Center und File Exchange

Produkte

Tags

Gefragt:

am 13 Dez. 2018

Bearbeitet:

am 14 Dez. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by