寫給大家看的面向對象編程書

寫給大家看的面向對象編程書

《寫給大家看的面向對象編程書)》是一部獨具特色的面向對象技術著作,結合代碼示例生動透徹地講述了面向對象思想的精髓,讓讀者真正學會以對象方式進行思考。此外,還討論了各種與面向對象概念密切相關的套用主題,包括XML、UML建模語言、持久存儲、分散式計算和客戶/伺服器技術等。內容精煉,示例簡單明了,適合各層次面向對象開發人員閱讀,也是高校相關專業面向對象課程的理想教學參考書。

基本信息

版權資訊

書 名: 寫給大家看的面向對象編程書

作 者:(美國)MattWeisfeld

出版社: 人民郵電出版社

出版時間: 2009

ISBN: 9787115197764

開本: 16

定價: 45.00 元

作者簡介

MattWeisfeld,資深軟體技術專家。在C++、Smalltalk、.NET和Java方面具有20多年的專業軟體開發經驗、項目管理經驗和培訓經驗。此外,他也是許多主要計算機技術雜誌和專業期刊的撰稿人。

編輯推薦

《寫給大家看的面向對象編程書(第3版)》與眾不同,用非常通俗易懂的方式,結合卓有趣味的示例,清晰透徹地闡述了面向對象的精體。書中不涉及任何特定程式語言的細節,而是把重點放在引導讀者學會如何以對象的方式思考。新版本增加了許多與面向對象緊密相關的套用主題,包括XML、UML建模語言、持久對象、分散式計算和客戶/伺服器等,更加貼近實戰。

面向對象是目前許多主流程式設計語言的核心概念,很大程度上,可以說要想學好用好一門面向對象語言,首先必須領會面向對象編程思想。

講面向對象的書已經很多,但是理解面向對象之道對於很多人來說仍然不是容易的事情。

章節目錄

第1章 面向對象概念介紹 1

1.1 過程式程式設計與OO程式設計 2

1.2 從過程式開發轉向面向對象開發 4

1.2.1 過程式程式設計 5

1.2.2 OO程式設計 5

1.3 對象到底是什麼 5

1.3.1 對象數據 5

1.3.2 對象行為 6

1.4 類到底是什麼 9

1.4.1 類是對象模板 9

1.4.2 屬性 11

1.4.3 方法 11

1.4.4 訊息 11

1.5 使用UML完成類圖建模 12

1.6 封裝和數據隱藏 12

1.6.1 接口 12

1.6.2 實現 13

1.6.3 接口/實現范型的一個實際例子 13

1.6.4 接口/實現范型的模型 14

1.7 繼承 15

1.7.1 超類和子類 16

1.7.2 抽象 16

1.7.3 is-a關係 17

1.8 多態 18

1.9 組合 20

1.9.1 抽象 21

1.9.2 has-a關係 21

1.10 小結 21

1.11 本章使用的示例代碼 21

1.11.1 TestPerson示例 21

1.11.2 TestPerson示例 22

1.11.3 TestShape示例 23

1.11.4 TestShape示例 25

第2章 如何以對象方式思考 27

2.1 了解接口與實現之間的區別 28

2.1.1 接口 29

2.1.2 實現 29

2.1.3 接口/實現示例 29

2.2 設計接口時使用抽象思維 33

2.3 儘可能為用戶提供最小接口 35

2.3.1 確定用戶 35

2.3.2 對象行為 36

2.3.3 環境約束 36

2.3.4 明確公共接口 36

2.3.5 明確實現 37

2.4 小結 37

2.5 參考書目 38

第3章 高級面向對象概念 39

3.1 構造函式 39

3.1.1 何時調用構造函式 39

3.1.2 構造函式中有什麼 40

3.1.3 默認構造函式 40

3.1.4 使用多個構造函式 41

3.1.5 構造函式的設計 44

3.2 錯誤處理 44

3.2.1 忽略問題 45

3.2.2 檢查問題並中止套用 45

3.2.3 檢查問題並嘗試恢復 45

3.2.4 拋出異常 45

3.3 作用域概念 47

3.3.1 局部屬性 48

3.3.2 對象屬性 49

3.3.3 類屬性 50

3.4 操作符重載 51

3.5 多重繼承 52

3.6 對象操作 53

3.7 小結 54

3.8 參考書目 54

3.9 本章使用的示例代碼 54

3.9.1 TestNumber示例:C#.NET 54

3.9.2 TestNumber示例 55

第4章 類剖析 57

4.1 類名 57

4.2 注釋 58

4.3 屬性 59

4.4 構造函式 60

4.5 訪問方法 62

4.6 公共接口方法 63

4.7 私有實現方法 64

4.8 小結 64

4.9 參考書目 64

4.10 本章使用的示例代碼 65

4.10.1 TestCab示例:C#.NET 65

4.10.2 TestCab示例 66

第5章 類設計指導原則 68

5.1 真實世界系統建模 68

5.2 明確公共接口 69

5.2.1 最小公共接口 69

5.2.2 隱藏實現 69

5.3 設計健壯的構造函式(和析構函式) 70

5.4 在類中設計錯誤處理 70

5.4.1 對類建立文檔以及使用注釋 71

5.4.2 構建類要以合作為出發點 71

5.5 設計時充分考慮重用 72

5.6 設計時充分考慮到可擴展性 72

5.6.1 名字要有描述性 72

5.6.2 抽出不可移植的代碼 72

5.6.3 提供一種複製和比較對象的方法 73

5.6.4 讓作用域儘可能小 73

5.6.5 類應當對自己負責 74

5.7 設計時充分考慮可維護性 75

5.7.1 使用疊代 76

5.7.2 測試接口 76

5.8 使用對象持久性 78

5.9 小結 79

5.10 參考書目 79

5.11 本章使用的示例代碼 79

5.11.1 TestMath示例:C#.NET 79

5.11.2 TestMath示例 80

第6章 利用對象實現設計 81

6.1 設計指導原則 81

6.1.1 完成適當的分析 84

6.1.2 建立工作陳述 84

6.1.3 收集需求 84

6.1.4 開發用戶界面的原型 85

6.1.5 明確類 85

6.1.6 確定各個類的職責 85

6.1.7 確定類如何相互合作 85

6.1.8 創建類模型來描述系統 85

6.2 案例研究:blackjack示例 86

6.2.1 使用CRC卡 87

6.2.2 明確blackjack類 88

6.2.3 明確類的職責 90

6.2.4 UML用例:明確協作關係 95

6.2.5 第一輪CRC卡 98

6.2.6 UML類圖:對象模型 99

6.2.7 建立用戶界面原型 100

6.3 小結 101

6.4 參考書目 101

第7章 掌握繼承和組合 102

7.1 重用對象 102

7.2 繼承 103

7.2.1 一般化和特殊化 105

7.2.2 設計決策 105

7.3 組合 107

7.4 為什麼封裝在OO中如此重要 109

7.4.1 繼承如何削弱封裝 109

7.4.2 多態的一個詳細例子 111

7.4.3 對象職責 111

7.5 小結 115

7.6 參考書目 115

7.7 本章使用的示例代碼 115

7.7.1 TestShape示例:C#.NET 115

7.7.2 TestShape示例 117

第8章 框架與重用:使用接口和抽象類實現設計 119

8.1 代碼:重用還是不重用 119

8.2 什麼是框架 119

8.3 什麼是契約 121

8.3.1 抽象類 122

8.3.2 接口 124

8.3.3 集成 125

8.3.4 編譯器的證明 127

8.3.5 建立契約 128

8.3.6 系統插入點 130

8.4 一個電子商務例子 130

8.4.1 電子商務問題 130

8.4.2 非重用的方法 131

8.4.3 一個電子商務解決方案 133

8.4.4 UML對象模型 133

8.5 小結 137

8.6 參考書目 137

8.7 本章使用的示例代碼 138

8.7.1 TestShape示例:C#.NET 138

8.7.2 TestShape示例 140

第9章 構建對象 143

9.1 組合關係 143

9.2 分階段構建 144

9.3 不同類型的組合 146

9.3.1 聚集 146

9.3.2 關聯 146

9.3.3 結合使用關聯和聚集 148

9.4 避免依賴性 148

9.5 基數 149

9.5.1 多個對象關聯 151

9.5.2 可選關聯 151

9.6 集成示例 152

9.7 小結 152

9.8 參考書目 153

第10章 用UML創建對象模型 154

10.1 什麼是UML 154

10.2 類圖的結構 155

10.3 屬性和方法 156

10.3.1 屬性 156

10.3.2 方法 157

10.4 訪問指示 157

10.5 繼承 158

10.6 接口 159

10.7 組合 160

10.7.1 聚集 160

10.7.2 關聯 161

10.8 基數 161

10.9 小結 162

10.10 參考書目 163

第11章 對象和可移植數據:XML 164

11.1 可移植數據 164

11.2 XML 165

11.3 XML與HTML 166

11.4 XML和面向對象語言 166

11.5 兩個公司間共享數據 167

11.6 用DTD驗證文檔 168

11.7 將DTD集成到XML文檔 170

11.8 使用層疊樣式表 175

11.9 小結 177

11.10 參考書目 177

第12章 持久對象:串列化和關係資料庫 178

12.1 持久對象基礎 178

12.2 將對象保存到平面檔案 179

12.2.1 串列化檔案 180

12.2.2 再談實現和接口 182

12.2.3 方法如何保存 183

12.3 串列化過程中使用XML 183

12.4 寫至關係資料庫 186

12.5 載入驅動程式 189

12.5.1 建立連線 189

12.5.2 SQL語句 190

12.6 小結 192

12.7 參考書目 192

12.8 本章使用的示例代碼 192

12.8.1 Person類示例:C#.NET 193

12.8.2 Person類示例 195

第13章 對象與網際網路 197

13.1 分散式計算的演進 197

13.2 基於對象的腳本語言 197

13.3 JavaScript驗證示例 200

13.4 Web頁面中的對象 202

13.4.1 JavaScript對象 202

13.4.2 Web頁面控制項 204

13.4.3 聲音播放器 205

13.4.4 電影播放器 205

13.4.5 Flash 206

13.5 分散式對象和企業 206

13.5.1 公共對象請求代理體系結構(CORBA) 207

13.5.2 Web服務定義 210

13.5.3 Web服務代碼 213

13.5.4 Invoice.cs 214

13.5.5 Invoice.vb 215

13.6 小結 216

13.7 參考書目 216

第14章 對象和客戶/伺服器套用 217

14.1 客戶/伺服器方法 217

14.2 專有方法 217

14.2.1 串列化對象代碼 218

14.2.2 客戶代碼 218

14.2.3 伺服器代碼 220

14.2.4 運行專有的客戶/伺服器示例 222

14.3 非專有方法 223

14.3.1 對象定義代碼 223

14.3.2 客戶代碼 224

14.3.3 伺服器代碼 225

14.3.4 運行非專有的客戶/伺服器示例 227

14.4 小結 228

14.5 參考書目 228

14.6 本章使用的示例代碼 228

14.6.1 客戶/伺服器示例:對象定義代碼 228

14.6.2 客戶/伺服器示例:客戶代碼 229

14.6.3 客戶/伺服器示例:伺服器代碼 230

第15章 設計模式 232

15.1 為什麼研究設計模式 232

15.2 Smalltalk的模型/視圖/控制器 233

15.3 設計模式的不同類型 234

15.3.1 創建型模式 235

15.3.2 結構型模式 239

15.3.3 行為型模式 241

15.4 反模式 242

15.5 小結 243

15.6 參考書目 243

15.7 本章使用的示例代碼 243

15.7.1 C#.NET 244

索引 250

相關詞條

相關搜尋

熱門詞條

聯絡我們