現在面向對象的程式設計思想已經有好長的曆史了,我們可能天天都在運用.我們應該如何了解它呢?100個人可能有100種答案,因為它太容易了解了,同時也是最難真正理會其含義的.了解好了解,但在實際的程式設計當中我們能否真正運用呢?一般很難,我們雖然寫出的代碼看似運用面向對象的分析而寫出來的,其實你還是運用以前的老思想,面向過程的.怎樣才能讓我們的分析與我們的代碼同步了,那就是必須先真正的了解對象.
大部人可能會說:萬事萬物皆對象.說對象是類的實力.等...
理論上說這些說法都是有道理的,但在我們程式設計當中,如果這樣了解的話,起不到思想與代碼的同步。
了解對象的最佳方法,我們應該把它看成"具有責任的東西(事物)",其實也就是一條我們常用的設計規則:對象應該自己負責自己,而且應該清楚地知道自己的責任。(自己對自己負責)這充分的展現了面向對象的封裝性,自己的事自己做,不依靠别人。
面向對象程式設計的三個基本原則:
第一:封裝性(透明):是将程式代碼及其處理的資料綁定在一起的一種程式設計機制。該機制保證了程式和資料不受外部幹擾和不被誤用。了解封裝的一個好辦法就是把它想象成一個黑箱子,它可以阻止在外部定義的代碼随意通路内部代碼和資料。對黑箱子内的代碼和資料的通路要通過一個适當的接口嚴格控制。
封裝也就是隐藏了對象的屬性和實作細節。僅僅對外公開接口。
在java中封裝的基本的單元:類(class)。
封裝到底在軟體系統中能帶來哪些優點了。
1。便于使用者正确,友善地了解和使用系統,防止使用者錯誤修改系統的屬性。
2。有助于建立各個系統之間的松耦合,高内聚,提高系統的獨立性。
3.提高軟體的可重用性,每個系統都是一個相對獨立的整體,可以在多種環境中得到重用。
4。降低了建構大型系統的風險,即使整個系統不成功,個别獨立的子系統還有可能是用價值的。
封裝的兩大原則:
1。把盡可能多的東西隐藏起來,對外提供簡單的接口。(系統的封裝程度越高,那麼它的相對獨立性就越高,而且使用起來也越友善)。
2。把所有的屬性藏起來。
本文轉自 weijie@java 51CTO部落格,原文連結:http://blog.51cto.com/weijie/66467,如需轉載請自行聯系原作者