「キャスト」とは、型の不一致によってコンパイル時にエラーを生成させたくない場合意図的に行う型変換のことです。
異なるデータ型にキャストするには、インスタンス名を括弧で囲み、その前に変換したいデータ型の名前(クラス名)の後に括弧で囲んだ変数を続けます。
DataType (object); // 変換したいデータ型(オブジェクト名)
次の例は、インスタンス名からインスタンスを参照する場合に、DisplayObjectContainer.getChildByName メソッドにより文字列から参照を取得する方法です。
このとき、DisplayObject で取得した参照を MovieClip インスタンスにキャストしています。
var mc:MovieClip = new MovieClip();
addChild (mc);
mc.name = "myName";
var target_mc:MovieClip = MovieClip(getChildByName("myName"));
trace (target_mc.name);
また、この方法以外にも as 演算子を使ってキャストすることができます。
expression as datatype; // オブジェクト名 as 変換したいデータ型
次の例は、上記の例と同様の処理(キャスト)を as 演算子を使って行っています。
var mc:MovieClip = new MovieClip();
addChild (mc);
mc.name = "myName";
var target_mc:MovieClip = getChildByName("myName") as MovieClip;
trace (target_mc.name);
Post your comment