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

Jam*_*rtz 5 oop matlab 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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

Amr*_*mro 5

不幸的是,doc页面说:

导入功能仅影响使用它的函数的导入列表.

因此,您必须在任何地方指定完全限定名称,或者在每个函数中执行导入.