《On Java 8》第1章 對象的概念

我們沒有意識到慣用語言的結構有多大的力量。可以毫不誇張地說,它通過語義反應機制奴役我們。語言表現出來並在無意識中給我們留下深刻印象的結構會自動投射到我們周圍的世界。

抽象

所有編程語言都提供抽象機制。從某種程度上來說,問題的複雜度直接取決於抽象的類型和質量。

面向對象程序設計方法:

1、萬物皆對象。
2、程序是一組對象,通過消息傳遞來告知彼此該做什麼。
3、每個對象都有自己的存儲空間,可容納其他對象。
4、每個對象都有一種類型。
5、同一類所有對象都能接收相同的消息。

接口

服務提供

軟件設計的基本原則是高內聚:每個組件的內部作用明確,功能緊密相關。

封裝

public

default

protected

private

複用

組合:經常用來表示“擁有”關係。例如,汽車擁有引擎。

聚合:動態的組合。

組合關係中,整件擁有部件的生命週期,整件刪除時,部件一定會跟着刪除。多個整件不可以同時共享同一個部件。

聚合關係中,整件不會部件的生命週期,整件刪除時,部件不會被刪除。多個整件可以共享同一個部件。

繼承

多態

面嚮對象語言使用後期綁定的概念,當向對象發送信息時,被調用的代碼直到運行時才確定。編譯器確保方法存在,並對參數和返回值執行類型檢查,但是不知道要執行的確切代碼。

面向對象的程序設計語言是通過“動態綁定”的方式來實現對象的多態性的。編譯器和運行時系統會負責對所有細節的控制;我們只需要知道要做什麼,以及如何利用多態性來更好地設計程序。

單繼承結構

單繼承的結構使得垃圾收集器的實現更爲容易。

集合

對象創建與生命週期

異常處理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章