MATLAB:如何创建一个名称与关键字相同的属性?

时间:2018-10-26 02:17:29

标签: matlab matlab-class

在底部(Loren)附近的本文(https://blogs.mathworks.com/loren/2012/07/16/who-what-why-but-not-this/)中,类属性可以与关键字相同。但是,这怎么可能呢?如果编写classdef脚本,则任何在属性块中使用关键字(包括诸如“事件”之类的类关键字)的尝试都将显示红色语法错误。她弄错了吗?我问是因为我真的希望属性名称成为特定应用程序的关键字。

1 个答案:

答案 0 :(得分:0)

可以通过使用dynamic properties,例如:

classdef test < dynamicprops
  methods
    function obj = test()
    end
  end
end

var = test();
var.addprop ( 'events' );
var.events = 123;

如果您只想将单个属性命名为与关键字相同的名称,则可能会使代码更难维护,并且可能会导致代码过大杀伤力,在这种情况下,为什么不执行大写var名​​称或在名称前加上一些内容-因此它仍显示为您想要的名称,但不会引起名称冲突:

classdef test
  properties
    Events
    myIf
    % etc...
  end
  methods
    function obj = test()
    end
  end

end