2009-08-05 42 views
0
package samples.flexstore 
{ 

import flash.events.Event; 

public class ProductThumbEvent extends Event 
{ 
    public static const DETAILS:String = "details"; 
    public static const BROWSE:String = "browse"; 

    public var product:Product; 

    public function ProductThumbEvent(type:String, product:Product) 
    { 
     super(type); 
     this.product = product; 
    } 

    override public function clone():Event 
    { 
     return new ProductThumbEvent(type, product); 
    } 
} 

} 

我需要了解這些內容才能更好地理解。Canyone解釋下面用ActionScript編寫的代碼

什麼是公共靜態const DETAILS:String =「details」;

爲什麼使用static關鍵字。 爲什麼使用const,它是什麼。 爲什麼DETAILS:String有一個值的細節。

public var product:Product; 

    public function ProductThumbEvent(type:String, product:Product) 
    { 
     super(type); 
     this.product = product; 
    } 

這個構造函數是做什麼的? 超級(類型)是做什麼的? this.product =產品意味着什麼?

override public function clone():Event 
    { 
     return new ProductThumbEvent(type, product); 
    } 

他們試圖返回什麼他們爲什麼不能在以前的構造函數中返回,而不是創建上述方法的克隆。

謝謝。

回答

1

你在問一些很基本的問題。我建議你通過一些基本的編程課程來開始,但這裏有你所問的答案。

public static const DETAILS:String =「details」;

這意味着聲明一個名爲DETAILS的字符串,該字符串可以在我的類之外訪問,並且不首先實例化實例。

靜態表示無需創建類的實例即可訪問該成員。 因此ProductThumbEvent.DETAILS是您如何訪問代碼中的靜態成員DETAILS的方式。

const說分配給DETAILS的值「details」是恆定的,不能改變。

super(type)表示調用基類(Events)構造函數並將類型傳遞給它。

this.product = product表示將傳遞給產品參數的值賦給公共成員Product。

克隆方法的目的是返回對象的新實例。如果他們選擇了它們(假設它們仍然具有適當的參數數據),那麼可以很容易地再次調用相同的構造函數,但原作者已決定實現此方法來完成任務。

+0

非常感謝您的時間和如此清晰的解釋。 – Kevin 2009-08-05 14:55:50