0

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

例如:

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

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

从这个方法出来后,计数器的值仍然是 1 而不是 10。

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

4

1 回答 1

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

我希望这可以帮助你!

于 2013-04-24T13:21:01.600 回答