类可以通过实现名字相同的方法来重新定义MATLAB函数,这就是重载。在定义跟已有MATLAB类型类似的特别类时,重载很有用。例如,可以对类对象实现关系操作、绘图函数和其它常用的MATLAB函数。[大谦MATLAB,dqmatlab点com]
重载一个MATLAB函数:
定义一个名字相同的要重载的函数。
确保方法的变量列表接受类对象,MATLAB用于确定调用哪个版本。
在方法中进行必要步骤来实现函数。例如,访问对象属性来操作数据。
下面的代码中,MyData类定义一个Data属性,用于保存绘图数据。该类覆盖bar函数并给图形添加一个标题。
code.matlab
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
bar方法与MATLAB的bar函数名称相同。但是,这里的bar方法需要一个MyData对象作为输入变量。因为该方法是为MyData对象定制的,所以它能从Data属性提取数据并创建定制的图形。
下面创建一个MyData对象:
code.matlab
>> y=rand(1,10);
>> md=MyData(y);
调用使用对象的方法:
code.matlab
>> bar(md)
也可以使用点标注:
code.matlab
>> md.bar