0
我想創建一個類,它只是將函數調用轉發給它所包含的列表中的每個項目。轉發所有列表項的函數調用
ListObjectForwarder<InterfaceFoo> interfaceFooForwarder;
interfaceFooForwarder.foo1(3,4);
應導致以下代碼::
foreach object in list
object.foo1(3,4);
和呼叫
interfaceFooForwarder.foo2("hello");
應導致可調用的功能由一個接口 因此,例如,(僞代碼)宣佈在
foreach object in list
object.foo2("hello");
正如你所看到的那樣:調用應該如何變化的模式始終是一個具有相同調用和參數的foreach循環。可轉發呼叫受到給定接口的限制(這裏是InterfaceFoo - 或eg.InterfaceBar)
一個重要的細節是,函數調用者不應該能夠有所作爲,無論他是否調用一個對象,直接實現接口或本例中的一組對象/對象列表。
我怎麼能在Java中做這樣的事情? 我想我會需要代表(?),但我無法弄清楚我會如何正確地在這裏應用它們。
編輯:
我不想單獨實現foo1和foo2的。我們的目標是,告訴本機一次「什麼函數調用來了,做對列表中的所有元素」
而且,我會認爲,每一個函數返回一個空
@TheTrowser有意義嗎? – Lino
對不起,我沒有解釋得夠好。我更新了這個問題:我不想專門實現foo1和foo2。而是類似於泛型函數調用 – TheTrowser
這是一個很好的起點!謝謝! – TheTrowser