使用 Matlab 中的方法设置对象属性
我正在 MATLAB 中创建一个类,虽然我对对象的经验很少,但我几乎肯定我应该能够使用类方法设置类属性。这在 MATLAB 中可能吗?
classdef foo
properties
changeMe
end
methods
function go()
(THIS OBJECT).changeMe = 1;
end
end
end
f = foo;
f.go;
t.changeMe;
ans = 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这是可能的。请注意,如果创建值对象,该方法必须返回该对象才能更改属性(因为值对象是按值传递的)。如果创建句柄对象 (
classdef foo),则该对象将通过引用传递。
如上所述,对值对象调用设置方法会返回更改后的对象。如果要更改对象,则必须将输出复制回该对象。
Yes, this is possible. Note that if you create a value object, the method has to return the object in order to change a property (since value objects are passed by value). If you create a handle object (
classdef foo<handle
), the object is passed by reference.As mentioned above, the call of a setting method on a value object returns the changed object. If you want to change an object, you have to copy the output back to the object.