簡體   English   中英

在類構造器之前或之中,flash as3定義變量?

[英]flash as3 define variables before or in class constructor?

像之間有什么區別

package {
    public class Myclass {
        var txt:TextField = new Textfield();

        function Myclass() {

        }

    }

}

package {

    public class Myclass {

        var txt:TextField;

        function MyClass() {

            txt = new TextField;
        }
    }
}

我知道,當您設置創建一個新對象時,將運行類構造函數,如下所示:

var object:Myclass = new Myclass();

在第二種方式中,這將創建新的TextField。

我的困惑是,在第一種方式中,何時創建TextField? 如果將類導入另一個類,是否會為TextField留出內存? 如果它是一個靜態變量怎么辦?

在實例化之前,不會分配內存,因此在這方面並不重要。

如果使用靜態變量,則該變量將占用內存,因為該內存未綁定到實例化的對象,而是類似於該類中的全局變量。

編輯:關於如何最好地構造和初始化注釋中的對象,從pkyeck進行了很好的說明: 在構造函數內部的AS3代碼中,該過程應該很慢-因此最好創建一個init()方法並在那里進行實例化以及所有構造函數內部的init()。 即時編譯器(JIT)並未優化構造函數中的代碼。 要使用JIT優化的代碼,可以從構造函數中調用函數。 然后,再次優化該函數中的代碼。 取自此處:je2050.joa-ebert.com/files/misc/as3opt.pdf – pkyeck

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM