为什么在MATLAB的每个班级中都必须使用“this”?我认为在C ++中我不需要使用“this”,只有在我想要的时候。在MATLAB中也是如此吗?
答案 0 :(得分:9)
简而言之,您必须使用某种明确的引用。
首先,与C ++ / C#/ Java中的 this 不同,您可以使用任何您想要的名称。 您必须使用显式调用的原因是Matlab designers decision。 我们的想法是支持对象上的Matlab向量操作,就好像它们一样 结构。以下是上述链接中的片段:
具有隐式对象参数的语言提供“this”关键字 要访问隐式对象,它们通常不需要您访问 财产通过“这个”。如果MATLAB具有隐式属性,那么逻辑性 对基于数组的对象的扩展将是无索引:
S = S +(k)。值;
修改强> 在@AndrewJanke的好评之后,我想补充一点,MATLAB可以将 this 作为隐式引用,并且只强制在基于数组的对象的索引中使用它。然而,MATLAB设计人员并没有选择这种方法。