Class Overriding and Package Namespacing?

6 Ansichten (letzte 30 Tage)
Jason Mortimer
Jason Mortimer am 24 Feb. 2015
Bearbeitet: per isakson am 24 Feb. 2015
I have two areas involving package namespacing which are frustrating me. The first of which being my class definition. The classes are both in different packages, so to inherit from a class in another packge I did:
classdef inputIniReader < AnalysisUtil.DataIO.File.iniReader
But I cannot 'import' before hand in order to get this:
import AnalysisUtil.DataIO.File.iniReader;
classdef inputIniReader < iniReader
Is there any way to achieve the shortened name?
Another issue is where I am overriding a method from a super class:
% Imports
import AnalysisUtil.DataIO.File.iniReader;
% Read the raw data.
data = obj.read@iniReader(filePath);
This code does not work because:
'iniReader' is not a valid base class.
I also tried:
% Imports
import AnalysisUtil.DataIO.File.*;
And it still didn't work. Do I really need to fully qualify the namespace just to call the super method from within an overriding function like this?:
% Read the raw data.
data = obj.read@AnalysisUtil.DataIO.File.iniReader(filePath);
Because this is the only solution that seems to work.

Akzeptierte Antwort

per isakson
per isakson am 24 Feb. 2015
Bearbeitet: per isakson am 24 Feb. 2015
  • "Is there any way to achieve the shortened name?" &nbsp No.
  • "And it still didn't work" &nbsp Neither when I try with R2013b. I thought it would. Cannot find it described in the documentation.
  • "fully qualify the namespace" &nbsp My code is littered with names of packages.
This is a topic for What frustrates you about MATLAB? There the audience is larger.

Weitere Antworten (0)

Kategorien

Mehr zu Workspace Variables and MAT Files finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by