例如:
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中创建函数句柄,但显然这种解释不适用于此上下文。那么@
的意思是什么呢?
答案 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
的构造函数并将其传递给显示的参数列表。