ActionScriptでインラインインターフェイスの実装
-
16-09-2019 - |
質問
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);
});
所属していません StackOverflow