在创建类的实例时,MATLAB中的@ mean是什么意思?

时间:2016-12-12 17:33:41

标签: matlab oop

例如:

function s = slexpdatasetSLAP()
    s = s@slexpdataset('slapCC','SLAP dataset for collective classification'); %slexpdataset is a class defined in another .m file
    s.discription ='CC';
end

据我所知,@用于在MATLAB中创建函数句柄,但显然这种解释不适用于此上下文。那么@的意思是什么呢?

1 个答案:

答案 0 :(得分:3)

这是调用the constructor of the super-class

的语法

一般来说,for calling a method of the superclass,你会使用语法

outputs = methodName@superclassname(obj, input, arguments)

但是,调用构造函数与 little 不同,因为在上面的示例中使用对象实例的变量名称代替methodName

obj = obj@superclassname(input, arguments)

在您的情况下,而不是obj,您使用s作为变量来引用类实例(因为您将其定义为构造函数的输出),所以你是本质上调用slexpdataset的构造函数并将其传递给显示的参数列表。