1:
我們将計算機系統抽象層三個層次,我們做應用層開發的基本上處于最上層;我為什麼要給出這張圖,其實當我們的軟體系統不斷的抽象後我們會距離系統層越來越遠:
2:
<a target="_blank" href="http://blog.51cto.com/attachment/201105/134637319.png"></a>
我們先打地基,圖紙明确規定地基要用什麼結構的支撐,是以我們的具體實施要完全繼承自這個接口,具體怎麼支撐是工程隊的事情;我們繼續看,下面要實作的是房屋的基本結構,房屋的造型,房屋的面積,房屋的品質标準等等條件都已經在工程圖紙中給出,我們隻要繼承自房屋實作接口去實作就行了;我們快速進行開發,現在到了具體門窗的裝配,門窗接口已經規定我的門要有哪些些裝飾,有哪些防盜措施;這些硬性條件是接口中規定的;具體你用哪個門,是哪個廠家的門,門是什麼顔色的隻要我沒有規定的都可以;請看代碼圖:
3:
上圖是将項目中的接口比喻成圖紙所規定的實作條件,而接口就是圖紙的抽象表示;請繼續看代碼圖:
4:
5:
6:
7:
<a target="_blank" href="http://blog.51cto.com/attachment/201105/134919531.png"></a>
圖7就是總體圖紙,我們來開怎麼實作開發;
8:
9:
總結:面向接口程式設計大概就講玩了,歸根到底一句話:面向接口程式設計就是将類與類之間的關系提升到一個更高的抽象層次;
面向接口程式設計是一種境界,我這裡隻是一個入門介紹,希望對你有幫助;
本文轉自 王清培 51CTO部落格,原文連結:http://blog.51cto.com/wangqingpei557/563612,如需轉載請自行聯系原作者