当前位置:  开发笔记 > 编程语言 > 正文

访问AS3中的Document类

如何解决《访问AS3中的Document类》经验,为你挑选了1个好方法。

实例化类如何访问Document类?

即使我使用Flash中的属性栏命名Document类,尝试从其他类访问它通常也会失败,说"尝试访问未定义的属性...

一种解决方案总是将Document类转换为自身!例如.

Main(Main).globalMethod();

但有时甚至这个恒星失败了,然后通常没有出路,除了显而易见的!

class Other{

   var parentClass:Main;
   public function Other(parent:Main){
       parentClass = parent;            // pointer to the Main class in a local var!

       Main(parentClass).globalMethod();
   }
}

aaaidan.. 22

您可以为文档类使用单例(Main在您的示例中),这允许您从任何位置访问实例.

public class Main extends Sprite {
    private static var _instance:Main;
    public static function get instance():Main { return _instance; }

    public function Main() {
        _instance = this;
       // etc...
    }

    // etc...
}

然后你Main像这样访问实例:

public class Other {
    public function Other() {
        Main.instance.usefulInstanceMethod();
    }
}

文档类是单例模式的一个非常好的候选者,因为通常应该只有实例可用.



1> aaaidan..:

您可以为文档类使用单例(Main在您的示例中),这允许您从任何位置访问实例.

public class Main extends Sprite {
    private static var _instance:Main;
    public static function get instance():Main { return _instance; }

    public function Main() {
        _instance = this;
       // etc...
    }

    // etc...
}

然后你Main像这样访问实例:

public class Other {
    public function Other() {
        Main.instance.usefulInstanceMethod();
    }
}

文档类是单例模式的一个非常好的候选者,因为通常应该只有实例可用.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有