1. 程式人生 > >接口與簡單工廠模式

接口與簡單工廠模式

接口 簡單工廠模式

接口:

使用interface關鍵字聲明接口。例如:

技術分享


接口需要被類實現,因為接口只做聲明不做實現。例如:

技術分享


Implements是實現接口關鍵字,一旦類實現了某個接口,就必須重寫這個接口聲明的方法。接口會有一個符號顯示著:

技術分享

看到這個符號就可以知道這是一個接口。


聲明了接口就必須應用接口編程,不然會越來越覺得接口是個可有可無的東西,從而失去了接口的意義。例如:

技術分享


使用接口作為類型聲明變量名,將構建對象的對象賦值到這個變量名裏,然後使用這個變量名來調用對象裏的方法,是面向父類編程的一種思想,這樣的話就不需要記著那麽多的子類。

總結:

1.接口和接口之間可以繼承

2.一個類可以實現N個接口

3.接口中只能申請實例公開(public)方法

4.接口在jdk1.7版本以上,可以申請靜態的方法實現

5.子類實現接口,如果繼承的父類實現了接口相同的方法,子類是可以不重寫的

6.聲明了接口,就應該面向接口編程(萬事萬物皆接口)



簡單工廠:

簡單工廠是工廠方法設計模式的入門,屬於創建型模式,用於隱藏對象的創建、生產對象,增大了易改性和可擴展性,可以比較好的管理對象,不會依賴於子類。

簡單工廠先用接口來制定需要實現的功能,讓類實現這個接口裏面的功能,然後創建一個工廠類,接著使用接口作為返回類型來申請一個字符串類型參數的靜態方法,並加上create方法名。然後在方法裏進行判斷,用參數名調用equals方法來比較字符串裏的內容是否為類名,是的話就構建這個類名的對象,並return出去,如果判斷沒有這個類名就return一個null。

在測試類裏則使用接口作為類型聲明一個變量名,然後用工廠類的類名直接調用它的create靜態方法並使用字符串來傳遞需要構建的對象的類名。

代碼示例:

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享


如果需要添加新的功能,就新建一個接口裏面寫上需要實現的功能,然後新建一個類繼承一個父類並實現這個新的接口,在測試類裏強制轉換一下接口類型就可以調用新增的方法了。例如:

技術分享

技術分享

技術分享


需要添加一個新的類的話,實現接口後就直接在工廠類裏加一個判斷即可。

技術分享

技術分享


父類的方法需要升級的話,就新建一個子類繼承於這個父類重寫需要升級的方法,然後在工廠類裏將構建的對象類名改為這個子類的類名。例如:

技術分享

技術分享


本文出自 “12831981” 博客,請務必保留此出處http://12841981.blog.51cto.com/12831981/1974343

接口與簡單工廠模式