« インターフェイスの継承 | メイン | ActionScriptスーパーサンプルWS »

データ型としてのインターフェイス

あるクラスが指定のインターフェイスに基づいているかどうかを調べることができます。インターフェイスに基づいていれば指定のメソッドを実装していることになり、安心してメソッドを呼び出すことができます。
インターフェイスに基づいているかどうかは、RocketInterface(myRocket)のようにインターフェイス(インスタンス)のようにキャスト式を実行したときの戻り値で判定できます(キャスト→p.??)。インターフェイスを実装するインスタンスならばインスタンスがそのまま返り、実装してない場合はnullが返ってきます。


sample→ex04-05/interfacecheckフォルダ

class Launcher2 {
var myRocket;
//コンストラクタ
function Launcher2(rocket) {
myRocket = rocket;
}
//ロケットに点火する
function startrocket():Void {
//インターフェイスが実装されているならば点火する
if (RocketInterface(myRocket) != null) {
myRocket.fire();
}
}
}

投稿者 oshige : 2005年02月25日 11:25