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.

 採用された回答

No Name
No Name 2018 年 12 月 14 日

0 投票

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 件のコメント

per isakson
per isakson 2018 年 12 月 14 日
編集済み: per isakson 2018 年 12 月 14 日
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 2018 年 12 月 14 日
Correct, I edited my original post.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeArgument Definitions についてさらに検索

製品

タグ

質問済み:

2018 年 12 月 13 日

編集済み:

2018 年 12 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by