为什么 MATLAB 将内置方法的方法属性设置为“隐藏”?

问题描述 投票:0回答:1

‘empty’ 是 matlab 内置方法。“在文档页面的底部提到:‘empty 是所有非抽象 MATLAB® 类的隐藏、公共、静态方法。’”

有一个问题,如果用户构建一个类方法,由于某些原因,用户可能希望将类方法设置为“隐藏”以防止其他人看到它。然而,对于 MATLAB 内置方法,每个人都知道它们的存在。 那么,MATLAB 将这个方法的 Attributes 设置为“隐藏”的目的是什么?”

如果在命令行中输入mc=?SubClass,然后在工作区中打开mc-->MethodList,你会发现两个方法,一个是'SubClass',另一个是'empty'。事实上,'empty'方法不是'并没有完全隐藏,那么将内置方法设置为‘隐藏’有什么意义呢?”

classdef  SubClass < Base
    methods
        function obj=SubClass(value)
            obj=obj@Base(value);
        end
    end
end

基础.m

classdef Base
    properties(Access=private)
        a;
    end
    methods
        function obj=Base(value)
            obj.a=value;
        end
    end
    methods (Access=private)
        function Fun(obj)
            disp(num2str(obj.a));
        end
    end
end
matlab oop methods matlab-guide matlab-deployment
1个回答
0
投票

我认为这篇文章是理解方法隐藏的一个很好的基线。这篇文章是专门针对 Java 的,但概念在 Matlab 中保持不变(如果我错了,请纠正我)。

© www.soinside.com 2019 - 2024. All rights reserved.