2009-08-05 11 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の

のpublic static constの詳細は何か:文字列= "詳細";

なぜstaticキーワードが使用されるのですか? なぜconstが使用され、何のためですか。 なぜDETAILS:Stringに値の詳細があるのですか?

public var product:Product; 

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

このコンストラクタは何をしますか? スーパー(型)は何をしますか? this.product = productは何を意味しますか?

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

なぜ、上記のメソッドのクローンを作成するのではなく、以前のコンストラクターに戻って戻すことができないのですか?

ありがとうございました。

答えて

1

あなたはかなり基本的な質問をしています。いくつかの基本的なプログラミングコースを試してみることをお勧めしますが、ここではあなたが尋ねたものに対する答えがあります。

public static const DETAILS:String = "details";

これは私のクラスの外、及び最初のインスタンスをインスタンス化することなくアクセスすることができるunchangable呼ば詳細文字列を宣言する意味します。

静的メンバーが作成されているクラスのインスタンスなしでアクセスできることを意味します。 ProductThumbEvent.DETAILSは、コード内の静的メンバーDETAILSにアクセスする方法です。

constがDETAILSに割り当てられた値「詳細」は一定であり、変更することはできないと述べています。

スーパー(タイプ)は、ベースクラス(イベント)コンストラクタを呼び出し、それに型を渡すために言います。

this.product = product says productパラメータに渡された値を取得し、それをpublic member Productに割り当てます。

クローンメソッドの目的は、オブジェクトの新しいインスタンスを返すことです。彼らが選択した場合(同じ引数データが​​まだ範囲内にあると仮定して)同じコンストラクタを簡単に呼び出すこともできますが、元の作者はこのメソッドを実装してタスクを実行することに決めました。

+0

あなたの時間とそのような明確な説明に感謝します。 – Kevin

関連する問題