關於介面的思考

2022-04-18 05:13:08 字數 896 閱讀 3156

1、介面的意義:

以前一直在思考的是介面的意義是什麼,我們定義乙個類,如果繼承了介面,就需要實現介面的全部方法和屬性,欄位等,那麼為什麼要繼承介面,直接定義我們想要的類就好了,後來隨著接觸的增多,再加上網上搜尋的一些資料,漸漸體會到介面的誕生是乙個很偉大的發明:

1)、介面可以定義規範,指的是我們在介面中定義乙個方法,後面繼承的類都需要實現該方法,且方法必須同名。這樣子就形成了命名規範,增加**的可讀性。

2)、介面可以完善定義規則,是乙個標準,這個怎麼說呢,就是我們在做專案的時候如果乙個類需要實現很多方法,就有可能會忘記,而定義介面並且繼承他就可以避免這乙個問題的發生。

3)、介面是多型的一種實現方式,在物件導向程式設計當中介面助於體現多型的特性,比如使用工廠模式就是使用了介面,還有在依賴注入和控制反轉當中都是使用了介面來降低耦合性。

4)、。。。後面再補充,暫時就想到這麼多。

2、來看乙個介面的定義,以集合為例(因為這裡面包含了我的乙個思考):

我們可以發現我們list很牛逼的繼承了它的所有前輩,但是,其實他只要繼承ilist和ilist就可以實現相同的功能了,為什麼微軟在定義的時候還要把其他的前輩都繼承了呢?

後來仔細領悟漸漸覺得這個可能是為了提高**的可讀性。

上面這一段**是我敲的,我們可以看到,class third是有實現了介面ifirst的方法的,但是我在寫class third的時候沒有表明是有繼承ifirst的,這樣子如果別人要使用我的類的時候如果想要使用多型,就需要一級一級的往下看,才能夠知道是可以使用ithird來接收的。

關於庫介面的幾點思考

由於專案需要,我寫的服務程序要同別的程序進行通訊,目前採用的是本地socket方式。舊工程中採用介面的是直接暴露通訊格式,由服務使用者自己寫呼叫函式,封裝資料進行通訊,這會有以下幾點問題 1 使用煩瑣,每個不同的程序都需要寫自己通訊函式 建立socket,鏈結,寫入,讀出,關閉等一系列重複的操作。2...

關於介面的一些思考

下面示例是模擬遊戲 憤怒的小鳥 的實現。叫的方式的介面 public inte ce shouttype 嗷嗷叫 public class aoshout implements shouttype 喳喳叫 public class zhashout implements shouttype 鳥的抽象...

關於介面的問答

問題一 為乙個子系統定義介面,然後其它子系統通過介面來進行訪問該子系統。這時其它子系統就要 呼叫 該系統的介面 怎麼個呼叫法,通過實現介面中的方法?問題二 比如 後台維護子系統 它其中有很多 用例類 類是根據用例抽象來的 每個類都有 增 刪 改 查 這些 增 刪 改 查 可不可以抽象出來,抽象成介面...