xdl*_*xdl 1 flash actionscript-3
有什么区别
package {
public class Myclass {
var txt:TextField = new Textfield();
function Myclass() {
}
}
}
Run Code Online (Sandbox Code Playgroud)
和
package {
public class Myclass {
var txt:TextField;
function MyClass() {
txt = new TextField;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道当你设置创建一个新对象时,类构造函数会运行,如下所示:
var object:Myclass = new Myclass();
在第二种方式中,这将创建新的TextField.
我的困惑是,在第一种方式,什么时候创建TextField?如果我将类导入另一个类,它会为TextField留出内存吗?如果它是一个静态变量呢?
在你实例化之前不会分配内存,所以在这方面它并不重要.
如果你使用一个静态变量,那么变量将占用内存,因为它没有绑定到实例化的对象,而是像该类中的全局变量.
编辑:pkyeck关于如何在注释中最好地构造和初始化对象的明确澄清: 在构造函数内部的AS3代码应该是慢的 - 所以最好创建一个init()方法并在那里进行实例化而只是所有的构造函数中的init().实时编译器(JIT)未优化构造函数内的代码.要使用JIT优化代码,可以从构造函数中调用函数.然后再次优化该函数内的代码.取自这里:je2050.joa-ebert.com/files/misc/as3opt.pdf - pkyeck
| 归档时间: |
|
| 查看次数: |
1168 次 |
| 最近记录: |