Adobe Flash非公式テクニカルノート Vectorクラス
説明 Arrayと同じく、配列アクセス演算子([])を使って、Vectorエレメントの設定および取得ができます。Vectorのメソッドにも、エレメントの値を設定あるいは取得する作用を及ぼすものがあります。そうしたメソッドには、push()、pop()、shift()、unshift()などが挙げられます。Vectorオブジェクトのプロパティおよびメソッドは、Arrayと似ており、多くの場合まったく同じです。Arrayを使おうとしたとき、そのエレメントがすべて同じデータ型の場合には、Vectorインスタンスを用いる方がよいでしょう。 Vectorの基本の型は、型パラメータシンタックスを後に付して指定します。型パラメータシンタックスは、ドット(.)に続けて、小なり不等号(<)、クラス名、そして大なり不等号(>)を順に書き連ねます。以下がその例です。
例の第1行目で、変数vがVector.<String>インスタンスとして宣言されています。つまり、Vector(配列)がStringインスタンスだけを包含し、そのVectorからはStringインスタンスのみ取得できることが示されました。第2行目は、同じ型のVectorインスタンス(すなわち、エレメントがすべてStringオブジェクトのVector)を生成し、vに代入します。 型パラメータシンタックスは、Vectorのデータ型を指定するたびに使います。それは、変数をVectorで宣言するときや、Vectorオブジェクトをインスタンス化する場合、メソッドのパラメータをVectorで指定したり、あるいはVector型をメソッドの戻り値に指定するときなどです。 Vector.<T>のデータ型を指定された変数には、同じ基本の型Tで生成されたVectorインスタンスのみを格納することができます。たとえば、new Vector.<String>()を呼出して生成したVectorは、Vector.<int>のデータ型で宣言した変数には代入できません。基本の型は厳密に一致する必要があります。たとえば、以下のコードは、コンパイルできません。オブジェクトの基本の型が、変数に宣言された基本の型と(SpriteはDisplayObjectのサブクラスであっても)同じではないからです。
基本の型がTのVectorをTのスーパークラスのVectorに変換するには、グローバル関数Vector()を用います。 データ型の制限に加え、VectorクラスにはArrayクラスとは異なる制限がほかにもあります。
これらの制限の結果として、VectorにはArrayに比べて大きくふたつの利点があります。Vectorエレメントは、すべてひとつのクラスのインスタンスだからです。
Player 出典 作成者: 野中文雄 Copyright © 2001-2008 Fumio Nonaka. All rights reserved. |
|||||||||||||