重學java---2---面向物件
阿新 • • 發佈:2018-11-06
面向物件
- 面向物件的三大特徵是:封裝,繼承,多型;而它的基礎則是:抽象。
- 一個物件能夠滿足要求,可以不必關心它的具體實現過程
- 與面向過程思想:先演算法後資料;不同的是:面向物件:先資料後演算法
- 面向物件更適合處理規模較大的問題,面向過程則相反
依賴 與 聚合
- 依賴:uses-a的關係,即: 一個類物件的方法操作另一個類物件。
- 聚合:has-a的關係,即:一個類物件包含另一個類物件
低耦合高內聚
- A類物件(模組)狀態改變時,B類物件(模組)也要跟著改變(A、B間依賴關係嚴重)即:耦合
- 解決耦合的方法
- 加入中間層(A/B不應該聚合時),A、B物件之間加入C物件,使原來A直接作用於B的關係,變為:A作用於C,C再作用B的間接關係
- A、B聚合:A包含B,或者C同時包含A、B
指標與引用的區別
相同點: 都指向一塊記憶體
不同點:
指標 | 引用 |
---|---|
指向記憶體塊的首地址,需要的時候可以讓它指向別的記憶體 | 引用與物件(記憶體塊)繫結,不可以再指向別的物件(記憶體塊) |
指標需要手動分配儲存空間(宣告,賦值) | 物件生成時已初始化好,包含在物件內(自己猜的) |
也就是說:
一個物件包含三個部分:1.狀態(成員變數)2.行為(方法)3.唯一標識identity(引用)