2013-10-14 13 views

回答

1

通常接口用於鏈接應用程序中的兩個部分(模塊)。我將它稱爲一堆(一個或多個)方法指針。 當您嘗試與另一個模塊或應用程序簽約時,您可能會遇到很多接口,因爲爲了在兩個模塊之間進行通信,此處應該有標準方式。


假設我已經編寫了一個關於在操作系統中監聽特定文件的模塊,並且您將使用我的模塊。所以我們如何理解對方?有一個可能的解決方案,你會傳遞一個方法指針(接口)到我的模塊,然後我的模塊將在事件發生時觸發(調用)指針。 所以我們在這裏需要的第一件事是在上述界面限定接口(方法指針) Listener Interface

//code: java 
public interface Listener{ 
void onEvent(String fileName); 
} 

,存在定義的一種方法。當文件被改變時調用onEvent方法。此方法的參數String fileName指向文件名已更改。


所以在這裏,我的模塊使用(調用)接口,並且你的模塊實現它。所以這是關鍵,我們可以通過接口相互交流。

所以對於這樣的場景,UML圖就是這樣的。 我的模塊需要接口。 您的模塊實現了該接口。 Ring-Bell model

如上接口代碼例如,如你看到的,接口是什麼本身,它充當liek一個指針,但它確保目標類(MyModule的),該目標類有一個稱爲onEevent方法。

我希望我可以舉手。

+0

感謝您的解釋。但我仍然有疑問。這個概念也適用於python或java,c#...?我可以在python中做同樣的事情嗎? –

+0

是的,當然,當你實現模塊/庫時,接口是非常有用的,因爲整個複雜系統已知有一些接口。這不僅僅屬於Java,但c#使用委託而不是接口,而我也支持接口。 – 2013-10-18 07:00:37