上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。




ActionScript3.0で新しく導入されたis演算子とas演算子についてメモします。



簡単なクラス定義


■Add.as

package jp
{
public class Add extends ParentAdd {
public function Add() {
super();
}

}
}

■Minus.as

package jp
{
public class Minus {
public function Minus() {
}

}
}

■ParentAdd.as

package jp
{
public class ParentAdd {
public function ParentAdd() {
}

}
}

is演算子とas演算子の違いを見るため、簡単なクラスを3つ作成しました。
見ての通り中身がからっぽのなんてないクラスです。
ただ、Add.asクラスの親にParentAdd.asと関連して、Minus.asだけ関連していません。

ActionScript3.0 is演算子とas演算子の違い


is演算子は、変数または式が特定のデータ型のメンバーであるかどうかをチェックしてくれます。
チェックした結果はtrue,falseで返されます。

as演算子は、is演算子と同じように変数または式が特定のデータ型のメンバーであるかどうかをチェックする事もできます。
ただis演算子とは異なり、結果をBoolean値で返してくれません。
as演算子は、trueの場合式の値、falseの場合はnullを返します。

ということで上記クラスを使った簡単なサンプルを紹介します。

ActionScript3.0 is演算子とas演算子の違い サンプルソース



<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" height="220" width="364" initialize="isCheck(),asCheck()">
<mx:Script>
<![CDATA[

import jp.Add;
import jp.Minus;
import jp.ParentAdd;

private function isCheck():void{
var myAdd:Add = new Add();
var myMinus:Minus = new Minus();
area1.text = area1.text + "myAdd is Add = " + String(myAdd is Add) + "\n";
area1.text = area1.text + "myAdd is Minus = " + String(myAdd is Minus)+ "\n";
area1.text = area1.text + "myAdd is ParentAdd = " + String(myAdd is ParentAdd)+ "\n";
area1.text = area1.text + "myMinus is ParentAdd = " + String(myMinus is ParentAdd)+ "\n";
}
private function asCheck():void{
var myAdd:Add = new Add();
var myMinus:Minus = new Minus();
area2.text = area2.text + "myAdd as Add = " + String(myAdd as Add) + "\n";
area2.text = area2.text + "myAdd as Minus = " + String(myAdd as Minus)+ "\n";
area2.text = area2.text + "myAdd as ParentAdd = " + String(myAdd as ParentAdd)+ "\n";
area2.text = area2.text + "myMinus as ParentAdd = " + String(myMinus as ParentAdd)+ "\n";
}
]]>
</mx:Script>
<mx:Label text="is演算子" />
<mx:TextArea id="area1" width="288" height="78"/>
<mx:Label text="as演算子" />
<mx:TextArea id="area2" width="288" height="78"/>

</mx:Application>


ActionScript3.0 is演算子とas演算子の違い 動作サンプル

少しでも参考になれば応援お願いします。












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。