Class Overriding and Package Namespacing?

4 visualizaciones (últimos 30 días)
Jason Mortimer
Jason Mortimer el 24 de Feb. de 2015
Editada: per isakson el 24 de Feb. de 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.

Respuesta aceptada

per isakson
per isakson el 24 de Feb. de 2015
Editada: per isakson el 24 de Feb. de 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.

Más respuestas (0)

Categorías

Más información sobre Workspace Variables and MAT Files en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by