面向對象是一種依賴幾個基本原則的思維方法。目標是開發出能夠反映現實世界某個特定片段的軟件(或者說是“建模”)。對象是類的實例,類是具有相同屬性和操作的一類對象集。你考慮到的屬性和行為越多,所建立的模型就越符合實際。
不過,面向對象并不只局限于對象的屬性和行為建模,還包括抽象、繼承、多態和封裝,其他3種重要的面向對象概念是消息傳遞、關聯和聚集。
1. 抽象
過濾掉對象的一部分特性和操作直到只剩下所需要的屬性和操作。
搞清楚什么應該納入模型中,什么應該舍去
2. 繼承
對象繼承了所屬類的屬性和操作,類同樣也可以繼承其他類的屬性和操作。
3. 多態性
不同的類中可以有同名的操作,每個類中發生的操作各不相同。
4. 封裝
當一個對象執行自己的操作時,它對外界隱藏了操作的細節。如果一個對象出現故障,對其他對象隱藏這個對象的操作意味著只需修改這個對象而不需要改變其他對象。每個對象都要提供給一個讓其他對象用來執行該對對象中操作的借口。
5. 消息傳遞
在系統中對象通過相互發送消息完成協作。
6. 關聯
對象之間以某種方式發生聯系。對象間可以以多種方式發生關聯,一個類可以和多個其他的類關聯(多重性)。
7. 聚集
是對象之間的另一種關聯。其中,組成又是特殊的聚集。