我在理解以下代码段时遇到了麻烦。简单的调用看起来像这样,没有任何分配,否则:
expression1@expression2;
expression2
指的是一个自定义的句柄类。
我已经研究了句柄,但无法从正常示例中找出给定的调用结构,@(x) x^2;
或者f = @sin;
也无法在网上找到类似的示例。
对此符号可能做的任何帮助表示赞赏。
没有上下文,很难确定,但这看起来就像是调用超类方法的子类(通常在子类实现中的其他功能之前)...
在这里查看文档。
链接文档中的示例:
classdef Sub < Super
methods
function foo(obj)
% preprocessing steps
...
foo@Super(obj);
% postprocessing steps
...
end
end
end
在这种情况下,该foo
函数在Super
类中定义,在子类中实现Sub
并进行扩展(带有预处理和后处理)。该foo@Super(obj)
符号从子类中调用超类方法。
请注意,这类似于SuperObj.foo(obj)
,不同之处在于您没有可实例化SuperObj
的类()Super
进行调用。而且,由于要扩展/覆盖该函数的超类版本,因此,obj.foo()
如果子类实现相同,则不能像您一样直接调用它-那就是您已经在使用的函数!因此,需要这种不同的表示法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句