参考资料 https://ww2.mathworks.cn/help/matlab/matlab_oop/overloading-functions-for-your-class.html
一个类无法定义两个同名的方法,而且一个类无法定义与方法同名的局部函数
重载 bar 函数
的例子classdef MyData
properties
Data
end
methods
function obj = MyData(d)
if nargin > 0
obj.Data = d;
end
end
function bar(obj)
y = obj.Data;
bar(y,'EdgeColor','r');
title('My Data Graph')
end
end
end
MyData bar 方法与 MATLAB bar 函数同名。但是,MyData bar 方法需要 MyData 对象作为输入。由于该方法针对 MyData 对象而特化,因此它可以从 Data 属性中提取数据并创建特化图。
要使用 bar 方法,请创建一个对象:
y = rand(1,10);
md = MyData(y);
%使用该对象调用方法:
bar(md)
%也可以使用圆点表示法:
md.bar