EDA365电子论坛网

标题: 可以通过xiugai这个函数修改a这个属性吗? [打印本页]

作者: limopcb    时间: 2020-4-29 16:18
标题: 可以通过xiugai这个函数修改a这个属性吗?
# W6 g6 D% L3 Z) s

# ~- E, _6 e& P+ l& o/ e' U% f例如:
7 v1 H1 U" N: Zclassdef test
0 U( X7 @* e  u5 a- q   properties
/ V1 I7 u  T- ]2 M" [( J; q       a = 10;! S1 N) v$ j' c" H
   end$ s' y" @8 S) |: ]
* M  q7 y4 J1 w* W8 [! v: q6 D
   methods
* S' J, r" B  I/ f+ @2 _/ b% j8 u, Q! j1 s' O; d
       function xiugai(this)4 y0 z+ _; t8 [, S6 H
          this.a = this.a + 1;
. ?- M& T; o6 T( |2 y! X; Y2 J       end
) ]' h$ T6 Y' X9 \5 f" l0 b   end3 k: Y% a" Z- r1 X, e  L7 i2 x
9 I. @& ]8 z  n* o8 X
end. c, n8 g* \; h; C

5 Y# {8 w5 [8 i* n这样子我可以通过xiugai这个函数修改a这个属性吗?! M) ]' n' s/ w& c" a4 H7 a* o
如果不能的话我应该怎样做才能修改a的值。感谢!
作者: 码农    时间: 2020-4-29 17:12
重新赋值就好了。
作者: sdsdwwwe22    时间: 2020-4-29 17:17
THIS.A=10; for ii=1:10     THIS.A=f(double(THIS.A)); end  function y=f(x) y=x+1; end 你这样做就好了!
作者: limopcb    时间: 2020-5-6 18:09
你好,我的是这样的& \/ @3 h# p! W6 c- b
tmp = test();0 a5 q0 ^: B  }
for0 m) `. ^+ N3 o0 D; y+ z
    ...
& u0 j. b% e% l    tmp.xiuggai()# f4 {1 S4 Q2 q( `2 |* f" `; B& G
    ...
( F3 [+ C1 I9 Q, W- Yend5 }2 h$ Q0 n1 u* q7 ]5 Z* O) @- w
就是外部不断调用xiugai这个函数,对a不断地+1,我的程序出现的问题是每次循环调用xiugai这个函数时this.a的值都是初始的10,而不是不断累加后的结果,请问怎么解决?
作者: IRESSEMT    时间: 2020-5-7 15:17
THIS.A=10;
/ M- k1 \9 G) p& Dfor ii=1:10
) ], T0 O# Y, T4 ]9 _    THIS.A=f(double(THIS.A));
" }, y8 o0 x8 cend
( N! F3 C( j) g7 X
5 e" c- q5 A1 _9 z( Q1 Qfunction y=f(x)
( a; J& n9 @: }( H# j7 `2 s  Z2 S7 ry=x+1;  r* s, \, ]! P. z
end' j( i; A5 X7 g, J2 K% {$ U9 E
你这样做就好了!
作者: odayle    时间: 2020-5-7 15:25
IRESSEMT 发表于 2020-5-7 15:17
) s5 J+ B& E/ e9 ATHIS.A=10;
9 g# O" W  ?$ b& Y+ ?4 x, K  g/ {6 ufor ii=1:10
* z* X) `8 h7 v7 s) A& q    THIS.A=f(double(THIS.A));

" P  T# L. l, K楼上的这个方法不错。- A+ b$ y# l" G5 s( }# @) O

作者: waboer    时间: 2020-5-7 15:32
学习一下。
/ M8 |. [2 L! i5 B0 ~+ L* N( ^% c
作者: duoer    时间: 2020-5-8 17:32
你试试重新赋值。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2