質問

ActionScriptの可能性のようなものですか?

のJavaます:

URLFetcherFactory.setCreator(
    new IURLFetcherCreator() {
        public IURLFetcher create() {
            return new URLFetcher();
        }
    }
);

ActionScriptのます:

?

私はこの疑問を抱いてきたし、それが可能だ示して何かを見つけることができませんでした。それは、 可能であった場合考え出し、私はここで答えを見つけることができると思います。ありがとう! StackOverflowの岩!

役に立ちましたか?

解決

あなたは、インターフェイスのインスタンスを作成することはできません。あなたは、しかし、ファクトリクラスを作成することができます:

public class URLFetcherCreator : IURLFetcherCreator {
    private var _cls : Class;

    public URLFetcherCreator(Class cls) {
        this._cls = cls;
    }

    public function create() : IURLFetcher
    {
        return new cls();
    }
}

:IURLFetcherを返す関数を受け入れるように、

あるいは、変更setCreator

URLFetcherFactory.setCreator(
    function() : IURLFetcher {
        return new URLFetcher();
    }
);

他のヒント

これを試してください:

URLFetcherFactory.setCreator(
    new IURLFetcherCreator() {
            public function create():IURLFetcher  {
                    return new URLFetcher();
            }
    }
);

あなたはAS3に匿名内部クラスを使用することはできません。 コールバックのような特殊なケースの場合は、代わりに匿名内部クラスの機能を使用することができます。

のJavaます:

interface Callback {
     void done(String info);
}
class Service {
     void process(Callback callback);
}
...
myService.process(new Callback() {
     void done(String info) {
          // trace(info);
     }
}

AS3ます:

class Service {
     public function process(callback:Function):void;
}
...
myService.process(function(info:String):void {
     trace(info);
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top