2013-06-09 14 views
7

Làm cách nào để xác định một hàm tạo tĩnh được chạy khi lớp được khởi tạo?Cú pháp của hàm dựng tĩnh trong Actionscript-3?

Tôi không thể làm cho nó đúng:

// version a: 
{} 

// version b: 
static {} 

// version c: 
static function Foo() 
{} 

// version d: 
static() 
{} 

// version e: 
() 
{} 

// version f: 
static function Foo():void 
{} 
+0

này sẽ giúp ?: http://stackoverflow.com/questions/13783017/as3-static-class-versus- singleton – Cherniv

+0

Xin lỗi không, không có 1 hàm tạo tĩnh. – n4pgamer

Trả lời

4

Tìm thấy nó ra:

public class Test 
{ 
    public function Test() 
    { 
     trace("normal constructor"); 
    } 

    // static constructor (version a) 
    { 
     trace("static constructor"); 
    } 
} 

Đối với một số lý do không có câu hỏi đã được hỏi về constructor tĩnh trong AS-3?


Dave đề nghị, tôi đã kiểm tra: Actionscript initializers thậm chí không cần bất kỳ cú pháp:

public class Test extends Sprite 
{ 
    trace("hello world"); 

    public function Test() 
    { 
     trace("constructor"); 
    } 

    trace("bye world"); 
} 
+0

Nó đã được hỏi trước khi ở nơi khác trên internet; http://manishjethani.com/archives/2008/03/31/static-initializers-in-as3 Và tôi nghĩ rằng nó có khả năng (nhưng tôi không thể chắc chắn) rằng niềng răng chỉ dành cho phạm vi; bạn có thể làm mà không có chúng. – Dave

+0

Bạn đang đúng về niềng răng (xem chỉnh sửa). – n4pgamer