考虑以下目录结构,即C:\magic
当前的 MATLAB 文件夹:
C:\magic
C:\magic\+wand
C:\magic\+hat
现在,wand
和hat
是可以由import wand.*
和加载的 MATLAB 包import hat.*
。
考虑一下我可能想在+hat
文件夹中为 hat 创建一个抽象类:
% C:\magic\+hat\Hat.m
classdef Hat < handle
% class implementation ...
end
和一些子类:
% C:\magic\+hat\TopHat.m
classdef (Sealed) TopHat < Hat
% class implementation
methods
function this = TopHat()
this = this@Hat();
end
end
end
但是当我这样做时:
> import hat.*
> ha = TopHat()
我收到以下错误:
Error using hat.TopHat
The specified superclass 'Hat' contains a parse error or cannot be found
on MATLAB's search path, possibly shadowed by another file with the same name.
不过,我可以做到ha = Hat()
没有错误。
可能发生什么,这个问题的最佳解决方案是什么?
提前致谢!