查看: 406|回复: 3|关注: 0

[已解决] 可以通过类内部的函数修改类的属性吗

[复制链接]

新手

11 麦片

财富积分


050


9

主题

11

帖子

0

最佳答案
例如:
classdef test
   properties
       a = 10;
   end

   methods

       function xiugai(this)
          this.a = this.a + 1;
       end
   end

end

这样子我可以通过xiugai这个函数修改a这个属性吗?
如果不能的话我应该怎样做才能修改a的值

MATLAB 基础讨论
版块优秀回答者

中级

830 麦片

财富积分


5001500


0

主题

1334

帖子

180

最佳答案
  • 关注者: 34
发表于 2019-6-11 22:19:02 | 显示全部楼层
重新赋值不就好了吗?!

新手

11 麦片

财富积分


050


9

主题

11

帖子

0

最佳答案
 楼主| 发表于 2019-6-11 22:59:00 | 显示全部楼层
WarnerChang 发表于 2019-6-11 22:19
重新赋值不就好了吗?!

你好,我的是这样的
tmp = test();
for
    ...
    tmp.xiuggai()
    ...
end
就是外部不断调用xiugai这个函数,对a不断地+1,我的程序出现的问题是每次循环调用xiugai这个函数时this.a的值都是初始的10,而不是不断累加后的结果,请问怎么解决?

MATLAB 基础讨论
版块优秀回答者

中级

830 麦片

财富积分


5001500


0

主题

1334

帖子

180

最佳答案
  • 关注者: 34
发表于 2019-6-12 09:41:18 | 显示全部楼层 |此回复为最佳答案
Mr.C_X0Eb7 发表于 2019-6-11 22:59
你好,我的是这样的
tmp = test();
for

THIS.A=10;
for ii=1:10
    THIS.A=f(double(THIS.A));
end

function y=f(x)
y=x+1;
end
你这样做就好了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表