0

变体 1:

        public static function set setWidth(w:int):void
    {
        width += (w); //not working
    }

.

        public function Caller()
    {
        ProgressLine.setWidth = -20;
    }

.

变体 2

            public function set setWidth(w:int):void
    {
        width += (w);
    }

.

        public function Caller()
    {
        progress = new ProgressLine;
        progress.setWidth = -20;
    }

.

我的第一个函数(setter)在 ProgressLine 类中 我的第二个函数在 Caller 类中

如何使用静态 setter 函数(变体 1)更改 Class ProgressLine 的宽度?

我不想使用非静态函数(变体 2),因为每次我使用变体 2 时,宽度都会恢复正常。如果每次调用 ProgressLine 类时正常宽度为 200,则宽度将返回 200(它会更新初始宽度)。

基本上我想将 Caller 的值传递给 ProgressLine,这将改变 ProgressLine 的宽度。问题是我不想在每次发送值时都初始化 ProgressLine 类。

提前感谢您的帮助

4

1 回答 1

0

您不能从同一类中的静态方法访问非静态属性。如果您只有一个 ProgressLine 实例,您可能必须在该类上实现单例模式。

于 2013-04-28T19:54:49.460 回答