Java面向對象程式設計[杜一民譯書籍]

Java面向對象程式設計[杜一民譯書籍]

《Java面向對象程式設計》是2003年清華大學出版社出版的圖書,作者是王保羅。

內容簡介

本書綜合介紹了Java語言編程技術和面向對象程式設計兩部分內容.在講授Internet上最流行的程式語言Java的同時,還介紹了它所採用的面向對象技術的基礎理論、主要原則和思維方法。本書內容翔實全面,涵蓋了從基本概念到高級主題(聯網、多執行緒和反射等)等內容,並介紹了面向對象設計的實用知識。書中給出大量經過調試運行良好的實例,便於初學者入門,同時有助於提高讀者解決實際問題的能力。

編輯推薦

本書適合用作高等院校本科生或研究生教材·Java初學者的自學用書·C/C++程式設計師轉向Java的學習資料。

目錄

第Ⅰ部分 面向對象和Java基礎知識

第1章 面向對象的系統開發 1

1.1 OO開發 2

1.1.1 面向對象編程 2

1.1.2 面向對象的分析和設計 3

1.2 面向對象的概念 5

1.2.1 對象、屬性和方法 6

1.2.2 對象互動作用和訊息 6

1.2.3 封裝和信息隱藏 7

1.2.4 類、實例和關聯 8

1.2.5 繼承性和多態性 9

1.3 認識OO開發的好處 10

1.3.1 對象更加自然 10

1.3.2 對象的類可以重用 10

1.4 理解OO開發 11

1.4.1 介紹三層設計 11

1.4.2 第Ⅰ部分:面向對象和Java基礎知識 11

1.4.3 第Ⅱ部分:定義問題域類 12

1.4.4 第Ⅲ部分:定義GUI類 12

1.4.5 第Ⅳ部分:定義數據存取類 12

1.4.6 第Ⅴ部分:部署三層應用程式 13

1.5 本章小結 13

1.6 複習問題 13

1.7 討論問題 17

1.8 項目 17

第2章 Java編程基礎知識 18

2.1 介紹Java 18

2.2 構建Java類 20

2.3 使用Java變數和數據類型 23

2.3.1 聲明和初始化變數 23

2.3.2 更改數據類型 25

2.3.3 使用常量 26

2.3.4 使用引用型變數 26

2.3.5 創建一個Java類來演示變數 27

2.4 使用Java進行計算 29

2.5 編寫判定語句 33

2.5.1 編寫if語句 33

2.5.2 使用條件運算符 37

2.5.3 編寫switch語句 39

2.6 編寫循環語句 40

2.6.1 編寫while循環 40

2.6.2 編寫do循環 41

2.6.3 編寫for循環 43

2.6.4 編寫嵌套循環 43

2.7 聲明和訪問數組 45

2.7.1 使用一維數組 45

2.7.2 使用多維數組 49

2.8 本章小結 53

2.9 複習問題 55

2.10 討論問題 55

2.11 項目 56

第3章 使用提供的類進行Java編程 57

3.1 使用Java提供的程式包和類 57

3.2 使用String類 58

3.3 創建String數組 62

3.4 使用vector類 66

3.5 處理日期 69

3.6 使用包裝器類 73

3.6.1 原語變數和包裝器實例之間的相互轉換 73

3.6.2 字元串和原語數據之間的相互轉換 74

3.6.3 String實例和包裝器實例之間的相互轉換 74

3.7 使用Applet類 76

3.7.1 編寫簡單的applet 76

3.7.2 控制顏色和字型 78

3.8 本章小結 81

3.9 複習問題 82

3.10 討論問題 85

3.11 項目 85

第4章 Nutshell中的面向對象分析和設計 86

4.1 OOA和OOD 86

4.2 統一建模語言 88

4.2.1 創建和解釋用例圖 89

4.2.2 創建和解釋類圖 91

4.2.3 創建和解釋序列圖 92

4.3 使用OO開發中的三層設計 94

4.4 介紹Bradshaw Marina案例分析 97

4.4.1 研究Bradshaw Marina的背景 97

4.4.2 標識Bradshaw用例和場景 97

4.4.3 標識Bradshaw問題域類 99

4.4.4 創建Bradshaw序列圖 102

4.5 本章小結 103

4.6 複習問題 104

4.7 討論問題 107

4.8 項目 107

第Ⅱ部分 定義問題域類

第5章 編寫問題域類定義 108

5.1 名稱轉換 108

5.2 開發PD類定義 109

5.2.1 類定義結構 109

5.2.2 定義屬性 110

5.2.3 編寫方法 111

5.3 測試PD類 114

5.3.1 創建實例 114

5.3.2 創建多個實例 118

5.4 編寫構造函式方法 122

5.5 編寫tellAboutSelf方法 124

5.6 本章小結 126

5.7 複習問題 127

5.8 討論問題 127

5.9 項目 127

第6章 有關問題域類的更多信息 129

6.1 為Slip類編寫定義 129

6.2 編寫自定義方法 135

6.3 格式化輸出 139

6.3.1 使用NumberFormat和DecimalFormat類 139

6.3.2 使用換碼順序 140

6.4 使用靜態變數和靜態方法 142

6.5 重載方法 146

6.5.1 重載構造函式 146

6.5.2 重載自定義方法 147

6.6 處理異常 151

6.6.1 slipId的數據驗證 152

6.6.2 Width的數據驗證 153

6.6.3 捕獲異常 157

6.7 本章小結 159

6.8 複習問題 160

6.9 討論問題 162

6.10 項目 162

第7章 一般化/特殊化和繼承性 164

7.1 實現Boat一般化/特殊化層次結構 164

7.1.1 測試Boat超類 166

7.1.2 使用關鍵字extends創建Sailboat子類 168

7.1.3 測試Sailboat子類 170

7.1.4 添加第二個子類-- Powerboat 173

7.2 抽象類和最終類 177

7.2.1 使用抽象類 177

7.2.2 使用最終類 178

7.3 重寫超類方法 178

7.3.1 添加和重寫tellAboutSelf方法 179

7.3.2 重寫和調用超類方法 183

7.3.3 測試2種方法重寫方式 185

7.3.4 重寫、多態性和動態綁定 187

7.4 私有訪問與受保護訪問的相對關係 187

7.5 本章小結 189

7.6 複習問題 190

7.7 討論問題 190

7.8 項目 191

第8章 其他的繼承概念和技術 192

8.1 最初的Lease類簡介 192

8.2 向Lease添加抽象方法 196

8.3 實現AnnualLease子類 198

8.4 實現DailyLease子類 201

8.5 測試AnnualLease和DailyLease類 204

8.6 了解和使用Java接口 206

8.6.1 創建Java接口 207

8.6.2 實現多個接口 208

8.6.3 測試完整的接口示例 211

8.7 使用自定義異常 213

8.7.1 定義LeasePaymentException 213

8.7.2 拋出自定義異常 216

8.7.3 測試LeasePaymentException 219

8.7.4 處理分批付款 220

8.8 Object類和繼承 224

8.9 本章小結 225

8.10 複習問題 225

8.11 討論問題 226

8.12 項目 226

第9章 實現關聯關係 228

9.1 查看Bradshaw Marina的類圖 228

9.2 將Customer與Boat相關聯:一對一的關聯關係 230

9.2.1 修改Customer類 231

9.2.2 修改Boat類 235

9.3 向Boat類中添加功能 239

9.4 將Dock與Slip相關聯:一對多的關聯關係 242

9.4.1 介紹Dock類 242

9.4.2 將Slip類與Dock相關聯 244

9.4.3 測試“碼頭包含船台”關聯關係 246

9.4.4 向示例中添加Boat和Customer類 249

9.5 創建和使用關聯類--Lease 255

9.6 本章小結 262

9.7 複習問題 263

9.8 討論問題 264

9.9 項目 264

第Ⅲ部分 定義GUI類

第10章 編寫圖形用戶界面 266

10.1 Java的GUI類 267

10.2 使用AWT類 268

10.2.1 創建帶有按鈕的視窗 268

10.2.2 使用布局管理器 269

10.2.3 處理Java事件 271

10.2.4 實現接口 271

10.2.5 擴充適配器類 274

10.2.6 創建內部類 278

10.2.7 使用多個GUI組件 280

10.3 將應用程式轉換為applet 285

10.4 使用Swing類 287

10.4.1 將AWT GUI轉換為Swing 288

10.4.2 添加下拉選單 290

10.4.3 將Swing應用程式轉換為applet 294

10.5 本章小結 296

10.6 複習問題 297

10.7 討論問題 299

10.8 項目 300

第11章 GUI與問題域類互動作用 301

11.1 添加新客戶 301

11.1.1 創建徽標面板 303

11.1.2 創建中央面板 303

11.1.3 創建下方面板 303

11.1.4 處理事件 304

11.1.5 使用對話框 305

11.2 查找客戶 309

11.2.1 創建客戶的Vector 310

11.2.2 創建客戶姓名的Vector 311

11.2.3 使用JList類 311

11.2.4 添加文本框 312

11.2.5 處理事件 312

11.3 添加船隻 317

11.3.1 創建面板 320

11.3.2 使用CardLayout 320

11.3.3 使用單選按鈕 321

11.3.4 創建sailboatPanel 321

11.3.5 創建powerboatPanel 323

11.3.6 註冊事件 323

11.3.7 處理事件 324

11.3.8 編寫clearForm方法 326

11.3.9 編寫addBoat方法 326

11.4 本章小結 335

11.5 複習問題 335

11.6 討論問題 337

11.7 項目 338

第12章 設計多視窗應用程式 339

12.1 導航多個視窗 340

12.1.1 模仿客戶資料庫 340

12.1.2 設計主選單 341

12.2 導航PD關聯關係 347

12.2.1 模仿客戶和船隻資料庫 347

12.2.2 添加客戶和船隻 349

12.2.3 查找客戶和船隻 351

12.3 本章小結 357

12.4 複習問題 357

12.5 討論問題 359

12.6 項目 360

第13章 使用集成開發環境 361

13.1 了解快速套用開發(RAD) 361

13.2 研究IDE的作用和優點 363

13.2.1 介紹程式管理工具的優點 364

13.2.2 介紹源編輯器的好處 364

13.2.3 介紹GUI編輯器的好處 365

13.2.4 介紹編譯和執行工具的好處 365

13.2.5 介紹調試工具的好處 365

13.2.6 介紹文檔生成器的好處 366

13.3 安裝Forte IDE 366

13.4 了解Forte基礎知識-- 快速教程 366

13.4.1 主視窗 368

13.4.2 工作區 368

13.5 使用Forte創建簡單的GUI程式 372

13.5.1 為示例程式創建新檔案 372

13.5.2 為示例程式設計窗體 375

13.5.3 使示例程式中的按鈕工作 379

13.5.4 編譯和執行示例程式 380

13.5.5 檢查GUI Editor生成的代碼 381

13.6 將Forte用於Bradshaw Marina GUI 應用程式 381

13.6.1 為Bradshaw Marina GUI應用程式創建項目 382

13.6.2 為Bradshaw Marina GUI應用程式創建新檔案 382

13.6.3 為Bradshaw Marina GUI應用程式設計窗體 382

13.6.4 使Bradshaw Marina GUI應用程式中的按鈕工作 385

13.6.5 編譯和執行Bradshaw Marina GUI應用程式 387

13.7 使用調試器 388

13.7.1 調試器入門 388

13.7.2 設定斷點和構建watch變數 389

13.7.3 查找和更正程式錯誤 391

13.7.4 單步調試程式 393

13.7.5 研究其他的調試器選項 394

13.8 生成Javadoc文檔 395

13.9 本章小結 397

13.10 複習問題 398

13.11 討論問題 398

13.12 項目 399

第Ⅳ部分 定義數據存取類

第14章 設計數據存取類 400

14.1 使對象持久性 400

14.2 設計數據存取類 401

14.3 與數據存取類通信 403

14.3.1 查找客戶 403

14.3.2 添加客戶 404

14.3.3 更改客戶 404

14.3.4 刪除客戶 404

14.3.5 附加的問題域方法 404

14.4 了解Java I/O 405

14.4.1 使用順序檔案實現持久性 406

14.4.2 為實現順序檔案而測試CustomerDA 411

14.4.3 使用隨機存取檔案實現持久性 415

14.4.4 使用對象串列化實現持久性 417

14.5 設計關係資料庫 419

14.5.1 結構化查詢語言(SQL) 420

14.5.2 java.sql程式包 421

14.5.3 使用資料庫實現持久性 421

14.5.4 為資料庫實現而測試CustomerDA 427

14.6 本章小結 428

14.7 複習問題 428

14.8 討論問題 430

14.9 項目 431

第15章 創建更加複雜的資料庫應用程式 432

15.1 在資料庫應用程式中實現一對一的關係 432

15.1.1 了解CustomerAndBoatDatabase中的表 433

15.1.2 使用SQL連線資料庫中的表 436

15.1.3 建立到CustomerAndBoatDatabase的公用連線 437

15.1.4 修改客戶問題域類 438

15.1.5 介紹BoatDA類 439

15.1.6 修改Boat類以協同使用BoatDA 445

15.1.7 修改CustomerDA類 447

15.1.8 測試新的CustomerAndBoatDatabase應用程式 451

15.2 在資料庫應用程式中實現一對多的關係 458

15.2.1 了解DockAndSlipDatabase中的表 458

15.2.2 建立到DockAndSlipDatabase的通用連線 459

15.2.3 修改Dock和Slip類 459

15.2.4 介紹DockDA類 461

15.2.5 測試DockAndSlipDatabase應用程式 467

15.3 在資料庫應用程式中實現關聯類 469

15.3.1 了解CustomerLeaseSlipDatabase中的表 469

15.3.2 建立到CustomerLeaseSlipDatabase的連線 470

15.3.3 修改Customer類 471

15.3.4 修改Lease和AnnualLease類 472

15.3.5 修改Slip類 476

15.3.6 介紹SlipDA類 478

15.3.7 介紹AnnualLeaseDA類 479

15.3.8 測試CustomerLeaseSlipDatabase應用程式 484

15.4 本章小結 486

15.5 複習問題 487

15.6 討論問題 487

15.7 項目 488

第Ⅴ部分 部署三層應用程式

第16章 合併三層:GUI類、問題域類 和數據存取類 489

16.1 三層設計 489

16.2 合併一個GUI、一個PD類和一個DA類 492

16.2.1 第11章和第12章中的Customer類 493

16.2.2 第14章中的Customer類 494

16.2.3 查看CustomerDA類 496

16.2.4 更新FindCustomer GUI 502

16.3 使用多個GUI並向資料庫添加實例 507

16.3.1 查看MainMenu GUI 508

16.3.2 查看AddCustomer GUI 510

16.3.3 為Example 2更新FindCustomer GUI 515

16.4 協同使用GUI和多個問題域類 516

16.4.1 查看具有關聯關係的Boat和Customer類 517

16.4.2 修改CustomerDA類以關聯Boat 519

16.4.3 介紹FindCustomerAndBoat GUI 521

16.5 本章小結 525

16.6 複習問題 525

16.7 討論問題 526

16.8 項目 526

第17章 在Web上部署Java應用程式 528

17.1 計算的客戶-伺服器模型 528

17.1.1 介紹典型的客戶-伺服器交換機制 529

17.1.2 創建用戶接口:瘦客戶應用程式 530

17.2 研究HTML:一個簡單示例 530

17.2.1 使用HTML標記 530

17.2.2 使用HTML創建輸入窗體 532

17.3 編寫處理窗體的servlet 533

17.4 安裝JavaServer Web Development Kit(JSWDK) 537

17.4.1 為示例Web應用程式組織檔案 538

17.4.2 安裝示例程式 539

17.4.3 編譯示例程式 539

17.4.4 在Java WebServer上運行示例程式 540

17.5 使用JavaScript驗證HTML輸入窗體 540

17.6 為Bradshaw Marina開發Web應用程式 544

17.6.1 修改Bradshaw Marina PD類和DA類 547

17.6.2 使用HTML創建歡迎頁面 547

17.6.3 使用HTML創建登錄頁 549

17.6.4 編寫一個servlet完成登錄請求 550

17.6.5 介紹Java Server Page 554

17.6.6 使用Java Server Page返回動態內容 554

17.6.7 使用servlet更新Bradshaw Marina資料庫 556

17.6.8 使用Java Server Page完成應用程式 558

17.7 探究Web應用程式開發的其他技術 563

17.8 本章小結 564

17.9 複習問題 565

17.10 討論問題 565

17.11 項目 566

術語表 567

相關詞條

熱門詞條

聯絡我們