6

我有一个类在多个函数中使用另一个包中的其他类。为了做到这一点,我目前必须在每个函数中导​​入包:

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
4

1 回答 1

6

不幸的是,文档页面说:

导入函数只影响使用它的函数的导入列表。

因此,您要么必须在任何地方指定完整的限定名,要么在每个函数中进行导入。

于 2013-06-11T18:17:31.490 回答