0

Actionscriptでこのようなことは可能ですか?

ジャワ:

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

アクションスクリプト:

?

私はこれについて疑問に思っていましたが、それが可能であることを示すものを見つけることができませんでした. 可能であれば、ここで答えを見つけることできると考えました。ありがとう!スタックオーバーフローが最高!

4

3 に答える 3

0

これを試して:

URLFetcherFactory.setCreator(
    new IURLFetcherCreator() {
            public function create():IURLFetcher  {
                    return new URLFetcher();
            }
    }
);
于 2009-08-14T19:14:00.867 に答える
0

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

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();
    }
);
于 2009-08-14T20:33:56.493 に答える
0

AS3 では匿名内部クラスを使用できません。コールバックのような特殊なケースでは、匿名の内部クラスの代わりに Function を使用できます。

ジャワ:

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);
});
于 2013-03-14T12:33:30.383 に答える