1. 程式人生 > >【複習】軟體設計師之論:面向物件思想

【複習】軟體設計師之論:面向物件思想

 面向物件 = 類 + 繼承 + 物件 + 訊息通訊


物件:是系統中用來描述客觀事物的一個實體,他是構成系統的一個基本單位

物件有三要素:物件標誌,屬性和服務


封裝:是物件的一個重要原則。
它有兩層含義:
第一:物件是其全部屬性和全部服務緊密結合而形成的一個不可分割的整體;
第二:物件是一個不透明的黑盒子,表示物件狀態的資料和實現操作的儀碼都封裝在黑盒子裡面。


類:對具有相同屬性和服務的一個或一組的抽象類與物件描述和具體例項的關係,一個具有的物件被稱作類的一個例項。


繼承和泛化:繼承是面向物件方法中重要的概念,用來說明特殊類(子類)與一般類(父類)的關係,通常使用泛化來說明一般類與特殊類之間的關係,他們之間是一對多關係。


多型性與過載:多型性(即多種形式)則是一般類中定義的屬性或者服務被特殊類繼承後,可以具有不同的資料型別或者表現出不同的行為,通常是使用過載和改寫兩項結束來實現。


1.過載(專用多型)描述一個函式名稱有多重不同實現方式,通常可以在編譯時基於型別簽名來區分各個過載函式的名稱
2.覆蓋(包含多型)是過載的一種特殊情況,只發生存在父類和子類這一關係中。
注:通常簽名相同,內容不一樣。
3.多型變數(賦值多型,強制多型)宣告為一種型別,但實際上卻可以包含另一種型別數值的變數。
4.泛型(模板,引數多型)它提供了一種建立通用工具的方法,可以再特定的場合將其泛化


多型:
通用的:
引數多型
包含多型
特定的:
過載多型
強制多型


訊息和訊息通訊:
1.訊息就是向物件發出的服務請求,它通常包括提供服務的物件標誌,訊息名,輸入資訊和回答新。
2.訊息通訊則是面向物件方法學中的一個重要原則。它與物件的封裝原則密不可分,為物件提供了唯一合法的動態獲取的途徑。


面向物件學的優點
1.與人類習慣的思維方式一致
2.穩定性好
3.可重用性好
4.較易開發大型軟體產品
5.可維護性好


在面向物件技術中,類屬於是一種引數多型機制,一個類屬類是關於一組類的一個特性抽象,它強調的是這些類的成員特徵中與具體型別無關的那些部分,而用變元類表示與具體型別有關的那些部分。