Rob*_*cks 15 oop flash class actionscript-3 document-class
实例化类如何访问Document类?
即使我使用Flash中的属性栏命名Document类,尝试从其他类访问它通常也会失败,说"尝试访问未定义的属性...
一种解决方案总是将Document类转换为自身!例如.
Main(Main).globalMethod();
Run Code Online (Sandbox Code Playgroud)
但有时甚至这个恒星失败了,然后通常没有出路,除了显而易见的!
class Other{
var parentClass:Main;
public function Other(parent:Main){
parentClass = parent; // pointer to the Main class in a local var!
Main(parentClass).globalMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
aaa*_*dan 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...
}
Run Code Online (Sandbox Code Playgroud)
然后你Main像这样访问实例:
public class Other {
public function Other() {
Main.instance.usefulInstanceMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
文档类是单例模式的一个非常好的候选者,因为通常应该只有实例可用.
| 归档时间: |
|
| 查看次数: |
15209 次 |
| 最近记录: |