java程式設計思想第一章

post200發表於2021-09-09

1.抽象過程
Alan kay 總結的物件導向的程式語言:

  • 萬物皆為物件。

  • 程式是物件的集合,他們透過傳送資訊來告訴彼此所要做的。

  • 每個物件都有自己的由其他物件所構成的儲存。

  • 每個物件都擁有其型別。

  • 某一特定型別的所有物件都可以接受同樣的資訊。

Booch對物件有一個更簡潔的描述:物件是具有狀態,行為和標識。這意味著每一個物件哪個都可以擁有內部資料(他們給出了該物件的狀態)和方法(它們產生行為),並且每一個物件都可以與其他物件區分開來,就是說每一個物件在記憶體中有唯一的地址。
2.每一個物件都有一個介面
建立抽象資料型別(類)是物件導向程式設計的基本概念之一。
類描述了具有相同特性(資料元素)和行為(功能)的物件集合,所以一個類實際上就是一個資料型別。
物件導向程式設計的挑戰之一,就是問題空間的元素與解空間的物件之間建立一一對映。
3.被隱藏的具體實現
訪問控制存在的一個原因是讓客戶端程式設計師無法觸及他們不應該觸及的部分,第二個原因是允許庫設計者改變類內部的工作方式。
Java用3個關鍵字在類的內部設定邊界:public,private,protected。
public:表示緊隨其後的元素對任何人都是可用的。
private:表示除了類建立者和類的內部方法之外,其他人都不能訪問的元素。
protected:與private相似,差別在於繼承的類可以訪問。
什麼都不加的話,稱為包訪問許可權,類可以訪問同一個包中的其他類成員。
4.複用的具體實現
使用現有類合成新的類稱為組合。如果組合是動態的,則被稱為聚合。
在建立新類時,首先考慮組合,因為他更加靈活。
5.單根繼承結構
單根繼承結構保證所有物件都具備某些功能。
單根繼承結構使垃圾回收器的實現變得容易。
6.容器
不同的容器提供了不同型別的介面和外部行為。
不同型別的容器對某些操作具有不同的效率。
7.引數化型別
Java SE5出現之前,容器中儲存的物件都只具有Java中的通用型別:Object
Java SE5重大變化之一就是增加了引數化型別 : 範型。ArrayList>=new ArrayList>();

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2249/viewspace-2813147/,如需轉載,請註明出處,否則將追究法律責任。

相關文章