指定构造函数方法
在我们的示例中,我们将指定一个构造函数方法,让用户可以提供用于创建对象的参数。构造函数方法通常会执行数据初始化和验证。现在,可以使用以下语句创建对象
>> s = sads(Data, Wavelength, SampleRate, Spacing, Name);
实现特定于应用的方法
我们将添加几个方法,以实现要对数据集执行的特定于应用的操作。大多数方法都将对象作为输入参数(例如 obj),并通过引用此变量来访问对象属性(例如 obj.NumSamples),如以下方法所示:
function mag = magfft(obj, zpt)
mag = zeros(obj.NumSamples, zpt);
...
end
虽然需要额外的语法,但通过对象变量引用属性有助于将它们与局部函数变量(例如上面的 mag)区分开来。
调用方法
方法的调用方式与函数相同,对象作为其中一个参数传入。我们可以通过调用类的 doa 方法来估计源的 DOA 角度。
>> angles = doa(s)
angles =
-10.1642 18.9953
这两个 DOA 角度近似于图 1 中所示源的真实位置,即 -10° 和 20°。
使用 get 和 set 方法访问属性
通过指定关联的 set 和 get 方法,您可以验证属性或实现依赖属性。以下是 NumSensors 属性的 get 方法。
function NumSensors = get.NumSensors(obj)
NumSensors = size(obj.Data, 2);
end
访问属性时会自动调用 get 和 set 方法,例如
>> N = s.NumSensors;
使用重载为现有 MATLAB 函数指定方法
通过重载,您可以在方法列表中提供与现有 MATLAB 函数同名的函数,从而重新定义这些函数,使其可以作用于您的对象。在我们的应用中,我们将包含一个重载的 plot 方法,以提供一个许多 MATLAB 用户都熟悉的函数来可视化数据集(图 5)。
>> plot(s)