【发布时间】:2015-12-08 01:04:25
【问题描述】:
我正在尝试从方法函数中访问类属性。当我从构造函数修改属性时,会调用 setter 并更改属性。但是当我从另一个方法修改属性时,当函数终止时,即使再次调用 setter,属性也会恢复到以前的值。
我的代码有什么问题,请帮助我! 谢谢
代码如下:
classdef random
properties
x
end
methods
function obj=random(obj)
obj.x = 2
obj.foo(1)
obj %output x:2, but it should be 1!
end
function foo(obj,A)
obj.x = A;
obj %output x:1
end
function obj = set.x(obj,newVal)
obj.x = newVal;
end
end
end
【问题讨论】:
-
您能否将代码贴在您使用该类的地方,以便我们重现问题?
-
我只是调用构造函数。然后,如果我显示'a'的值,它是不正确的。 >>a = 随机; >>a a = 随机属性:x: 2 >>a.foo(1)
标签: matlab function class methods properties