如何在matlab中对整个类执行导入?

时间:2013-06-11 17:27:06

标签: matlab oop packages

我有一个类在多个函数中使用来自另一个包的其他类。为此,我目前必须在每个函数中导​​入包:

classdef foo
    properties
        bar
    end
    methods
        function self = foo()
            foo.bar = 1;
        end

        function fun1(foo)
            import pkg.FooClass;
            val = pkg.FooClass(foo.bar);
        end
        function fun2(foo)
            import pkg.FooClass;
            val = FooClass.fun(foo.bar);
        end
    end
end

有没有办法导入整个类的包?我正在寻找类似于其他语言的东西:

classdef foo
    import pkg.FooClass;
    properties
        bar
    end
    methods
        function self = foo()
            foo.bar = 1;
        end

        function fun1(foo)
            val = pkg.FooClass(foo.bar);
        end
        function fun2(foo)
            val = FooClass.fun(foo.bar);
        end
    end
end

1 个答案:

答案 0 :(得分:5)

不幸的是,doc页面说明了:

  

导入功能仅影响功能的导入列表   在其中使用它。

因此,您将have to指定所有限定名称,或者在每个函数中执行导入。