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