通过引用传递不在actionscript中工作

时间:2013-03-15 12:11:03

标签: actionscript-3

我将对象传递给类并在对象中进行一些更改但实际对象保持不变。

例如:

public class Xclass
{
   public var counter:int=1;
}

private function mymethod(x:Xclass):void
{
   x.counter = 10;
}

在退出此方法后,计数器的值仍为1而不是10。

我的代码中是否有任何问题。或者是否有任何其他方式通过引用传递对象。

1 个答案:

答案 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;
            }
        }
    }

我希望这可以帮到你!