[JAVA]OOP 三大特性

最近在準備面試,這個基礎題是萬年必考題!

封裝、繼承、多型

封裝是在說一個專案的模塊( module )之間要盡可能降低依賴度
封裝的基礎概念是建立類別,就是將相關的資料與方法放在一起,
所以我們要盡可能地降低類別之間的耦合度,也就是降低資料的能見度,
資料對外要隱藏,只開放方法供開發者使用,這個概念延伸至多型。
繼承是基於某模塊功能的擴充
在這個階段強調程式碼的重用性,盡可能地少寫,做更多的事。
但繼承是基於父類別的功能擴充,所以當父類別內容改動,而子類別沒有同步更動的話,
會有程式錯誤產生,因此這就是類別之間耦合性太高,缺乏彈性。
多型是方法以多樣貌呈現
此階段重視方法的重用,而不是程式碼。
呼應到封裝,資料要完全隱藏,以避免開發者對資料的不當操作,
對外只開放虛擬方法,透過重寫虛擬方法實現開發邏輯
因此一樣的方法名,有不同樣貌
此時程式模塊之間耦合度低
這就是多型的優點。



 

如有敘述錯誤,還請不吝嗇留言指教,thanks!