クラスを作成したいだけで、関数呼び出しを含むリスト内の各項目に関数呼び出しを転送します。すべてのリスト項目を順方向に呼び出す
foreach object in list
object.foo1(3,4);
と
interfaceFooForwarder.foo2("hello");
が生じるはずであるコール:
ListObjectForwarder<InterfaceFoo> interfaceFooForwarder;
interfaceFooForwarder.foo1(3,4);
次のコードをもたらすはずである。呼び出し可能な機能は、インタフェース したがって例えば(擬似コード)によって宣言されていますin
foreach object in list
object.foo2("hello");
このように、呼び出しがどのように出力されるかについてのパターンは、常に同じ呼び出しとパラメータを持つforeachループです。転送可能な呼び出しは、指定されたインタフェース(ここではInterfaceFooまたはeg.InterfaceBar)によって制限されています
重要な詳細の1つは、関数呼び出し側は、オブジェクトを1つ呼び出すかどうか、インタフェースを直接実装するかどうかまたはこの例のようなオブジェクトのグループ/リストです。
どうすればJavaのようにすることができますか? 私はデリゲート(?)が必要だと思いますが、ここで正しく適用する方法がわかりません。
編集:私は別にfoo1のとfoo2はを実装したいとは思わないでしょう
。目標は、すべての関数は、私が正しく理解している場合
@TheTrowserは意味がありますか? – Lino
申し訳ありませんが、十分に説明していませんでした。私は質問を更新しました:私は具体的にfoo1とfoo2を実装したくありませんでした。むしろジェネリックボディーを持つジェネリック関数呼び出しに似たものがあります。 – TheTrowser
これは良い出発点です!ありがとうございました! – TheTrowser