What is an Interface

What is an iterface?(什麼是介面)?
在英文裡面,一個介面(Interface)是一組用來與不相干實體互動的設備或系統.根據這個定義,一個遙控器是一組介於你和電視的介面,英文是一組介於兩個人之間的介面,在軍隊中的行為協定是一組在不同階級的人之間的介面.在Java語言中,一組介面是一個與不相干物件互動的設備.一組介面大致可以比擬為一個協定(在行為上的允許).實際上,其他物件導向語言也有介面的功能,但他們稱他們的介面為協定.
腳踏車類別和他的後繼類別定義了一部腳踏車在騎的時候可以做什麼和不可以做什麼,但不包括腳踏車在其他期間與世界的互動.舉例來說,在店裡的一部腳踏車可以被一個庫存程式來管理.一個庫存程式不管物品是什麼類別的,他只要每個物品提供確切的資訊,像是價錢和追蹤號碼,就能管理.取代在其他不相關聯的物品上作強制類別關聯的做法是,庫存程式初始化了一個通訊的協定.這個協定引入常數和函式的集合,包含在一個介面之中.庫存介面將會被定義,但不是實作,裡面的方法將會被用來設定和取得零售價錢,給予一個追蹤號碼等等.
在庫存程式裡作業時,腳踏車類別必須藉著實作這個介面以同意這個協定.當一個類別實作一個介面,這個類別就需要實作在介面中定義的所有方法.例如,腳踏車類別將提供設定和取得零售價格,給予一個追蹤號碼等方法的實作.
使用一個介面去定義一個行為的協定,以用來被任何類別來實作.介面在以下情況是非常有用的:
.在沒有關聯的類別中找到相似點,而不需要強制給予類別的關係.
.定義一個或多個類別預計要實作的方法.
.不需要顯露出物件的類別,就能顯露他的程式化介面.