在这篇文章(https://blogs.mathworks.com/loren/2012/07/16/who-what-why-but-not-this/(靠近底部的地方,Loren说类属性可以与关键字相同。然而,这怎么可能呢?如果您编写 classdef 脚本,任何在属性块中使用关键字(包括类关键字,如"events"(的尝试都会得到红色语法错误。她弄错了吗?我问是因为我真的希望属性名称成为特定应用程序的关键字。
通过使用动态属性可以实现,例如:
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