1. 程式人生 > >Java基礎之深入理解介面(interface)意義

Java基礎之深入理解介面(interface)意義

在學習介面的時候,一致沒有理解透徹,再次學習時,發現要學習介面,必須要理解其運用場景。理解面向介面程式設計對理解介面非常有幫助。

首先面向介面程式設計和麵向物件程式設計並不是平級的,它並不是比面向物件程式設計更先進的一種獨立的程式設計思想,而是附屬於面向物件思想體系,屬於其一部分。或者說,它是面向物件程式設計體系中的思想精髓之一。在系統分析和架構中,分清層次和依賴關係,每個層次不是直接向其上層提供服務(即不是直接例項化在上層中),而是通過定義一組介面,僅向上層暴露其介面功能,上層對於下層僅僅是介面依賴,而不依賴具體類。

面向介面好處:首先對系統靈活性大有好處。當下層需要改變時,只要介面及介面功能不變,則上層不用做任何修改。甚至可以在不改動上層程式碼時將下層整個替換掉。介面體現的是一種規範和實現分離的設計哲學,充分利用介面可以極好地降低程式各模組之間的耦合,從而提高系統的可擴充套件性和可維護性。基於這種原則,通常推薦“面向介面”程式設計,而不是面向實現類程式設計,希望通過面向介面程式設計來降低程式的耦合。降低程式耦合度,提高系統的可擴充套件性和維護性。

通過以上的理解我們能夠理解到為什麼會非常普遍的運用介面。

另外轉載了3篇文章,深入理解面向介面程式設計,也能非常的好的理解介面的意義。