Class Overriding and Package Namespacing?

3 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

per isakson
per isakson il 24 Feb 2015
Modificato: per isakson il 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.

Più risposte (0)

Categorie

Scopri di più su Workspace Variables and MAT Files in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by