無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

バインドメソッド

インスタンスから取得したメソッド(これをバインドメソッドと呼びます。)は、取得元のインスタンスと関連づけられています。バインドメソッド内の「this」は取得元のインスタンスになります。

Kitten.as:

package {
    public class Kitten {
        
        public function Kitten( name:String ) {
            this.name = name;
        }
        private var name:String;

        // 内部でthis参照を使う。
        public function getName():String {
            return this.name;
        }
    }
}

メイン(sample.as):

// メイン
public function main():void {

    var k:Kitten = new Kitten("mii");
    
    // インスタンスから関数を取得。(バインドメソッド)
    var getName:Function = k.getName;
    
    // バインドメソッドを実行。メソッド中のthisは、「メソッドの取得元のインスタンス」になる。
    stdout.text += getName();
}

MXML:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    creationComplete = "main()" >
    <mx:TextArea id="stdout" width="200" height="200" />
    <mx:Script source="./main.as"/>
</mx:Application>

コンパイルした結果はこちら

イベントリスナーで使うそうです。Javaみたいに「HogeHogeListener」インターフェイスを書いて、実装して、とかしなくてすみそう。


参考:Flex 2 開発ガイド - バインドメソッド