我在 MATALB 有以下课程。
classdef MyClass
properties
a;
end
methods
function foo(obj)
obj.a = 1;
end
end
end
现在,我这样做。
mc = MyClass;
mc.foo();
现在我们有了这个。
mc.a == []
这是我不明白的事情。我期待
mc.a == [1]
为什么函数 foo 没有改变对象的状态?
如果这是一个非常基本的问题,我很抱歉。我习惯了 Java 和 C# 之类的语言,它们的语义显然符合我的预期。
我发现如果我执行以下操作,它会起作用。
classdef MyClass < handle
但是如何使用 MATLAB 中的值类(即不是句柄类)获得所需的行为?