min*_*pop 9 flash actionscript-3
我经常在AS3类的构造函数中看到一个init(),有时甚至是构造函数中唯一的代码.如果你可以简单地使用构造函数本身来初始化一个类,为什么这样做会有用呢?
package
{
import flash.display.Sprite;
public class Example extends Sprite
{
public function Example()
{
init();
}
public function init ( ):void
{
//initialize here
}
}
}
Run Code Online (Sandbox Code Playgroud)
Joh*_*ger 16
在ActionScript 3中,始终解释构造函数代码而不是编译代码.我相信将代码移动到init()函数可能允许它被编译和优化.
http://blog.pixelbreaker.com/flash/as30-jit-vs-interpreted/
我这样做的原因是我可以重新初始化一个类而不创建它的新实例.init()方法基本上是一个"重置"按钮,然后,如果你正确编码,允许你将类返回到其初始状态,例如,允许任何已设置的变量保持设置.
当然,这取决于你如何编码.