第1章 面向對象軟件開發(fā) 1
本章概述 1
1.1 軟件開發(fā)面臨的挑戰(zhàn) 1
1.2 工程的觀點 3
1.3 面向對象的原則 7
1.4 迭代開發(fā)過程 8
第2章 使用UML的面向對象建模 14
本章概述 14
2.1 原理和概念 14
2.2 對關系和結構建模 21
2.3 動態(tài)行為建模 25
2.4 使用用例建立需求模型 29
2.5 案例分析:一家電子書店 31
第3章 Java簡介 39
本章概述 39
3.1 Java 2平臺的歷史回顧 39
3.2 Java運行時構架 41
3.3 從Java開始 46
第4章 Java元素 54
本章概述 54
4.1 詞法部分 55
4.2 變量和類型 62
4.3 語句 67
4.4 類聲明 73
4.5 包 101
4.6 異常 105
4.7 一個簡單的動畫applet 111
第5章 類和繼承 119
本章概述 119
5.1 方法和構造函數(shù)的重載 119
5.2 擴展類 122
5.3 擴展和實現(xiàn)接口 133
5.4 屬性和類方法隱藏 140
5.5 應用——動畫applet 141
5.6 常見問題和解決方案 154
第6章 從建立模塊到建立項目 157
本章概述 157
6.1 類的設計和實現(xiàn) 157
6.2 契約和不變式 164
6.3 類的規(guī)范形式 172
6.4 單元測試 179
6.5 項目建立 186
第7章 使用抽象進行設計 190
本章概述 190
7.1 設計模式 190
7.2 設計通用的組件 192
7.3 抽象耦合 211
7.4 設計案例分析——排序算法的動畫 218
第8章 面向對象應用程序框架 236
本章概述 236
8.1 應用程序框架 236
8.2 收 集 框 架 238
8.3 圖形用戶界面框架——AWT和Swing 255
8.4 輸入/輸出框架 281
第9章 設計案例分析:一個繪圖板應用程序 305
本章概述 305
9.1 計劃 305
9.2 迭代1:一個簡單的涂寫板 305
9.3 迭代2:菜單、選項和文件 309
9.4 迭代3:重構 325
9.5 迭代4:添加形狀和工具 334
9.6 迭代5:更多的繪圖工具 348
9.7 迭代6:文本工具 352
第10章 更多的設計模式 362
本章概述 362
10.1 類型安全的枚舉類型 362
10.2 創(chuàng)建型設計模式 366
10.3 行為型模式 398
10.4 結構模式 403
第11章 并發(fā)編程 432
本章概覽 432
11.1 線程 432
11.2 線程安全和活躍度 439
11.3 設計案例分析——tic-tac-toe游戲 451
第12章 分布式計算 464
本章概覽 464
12.1 基于套接字的通信 464
12.2 遠程方法調用 487
12.3 Java數(shù)據(jù)庫連接 499
12.4 公共對象請求代理構架 508