我将对象传递给类并在对象中进行一些更改但实际对象保持不变。
例如:
public class Xclass
{
public var counter:int=1;
}
private function mymethod(x:Xclass):void
{
x.counter = 10;
}
在退出此方法后,计数器的值仍为1而不是10。
我的代码中是否有任何问题。或者是否有任何其他方式通过引用传递对象。
答案 0 :(得分:0)
在AS3中工作正常,请看下面的代码:
主类:
package
{
import flash.display.Sprite;
public class TesteCake extends Sprite
{
public function TesteCake()
{
var xclass:XClass = new XClass();
trace(xclass.getCounter());
changeCounterXClass(xclass);
trace(xclass.getCounter());
}
private function changeCounterXClass(xclass:XClass):void{
xclass.setCounter(10);
}
}
}
它是XClass.as(此类在其他.as文件中)
package
{
public final class XClass
{
private var counter:int = 1;
public function setCounter(value:int):void{
counter = value;
}
public function getCounter():int{
return counter;
}
}
}
我希望这可以帮到你!