第1章 面向對象設計與實現(xiàn)的優(yōu)雅性
1.1 存在的問題
1.2 軟件工程
1.3 設計優(yōu)雅軟件的標準
1.4 說明
1.5 練習題
1.6 參考文獻
第2章 面向對象的基礎知識
2.1 面向對象編程與非面向對象編程
2.1.1 面向對象編程與非面向對象編程簡介
2.1.2 面向對象語言
2.1.3 面向對象編程的優(yōu)點
2.2 Java中的類、對象、變量和方法
2.3 插入語:Java中的類方法和類變量
2.3.1 類變量及類方法簡介
2.3.2 Java中的類變量及其使用
2.3.3 Java中的類方法及其使用
2.3.4 小結
2.4 UML類圖簡介
2.5 實現(xiàn)繼承
2.5.1 特殊化
2.5.2 Java中的Obiect父類
2.5.3 特殊化的另一種使用
2.5.4 泛化
2.5.5 Java中的單繼承
2.6 類型、子類型和接口繼承
2.6.1 類型
2.6.2 多態(tài)
2.6.3 多態(tài)的價值
2.7 接口與抽象類
2.8 動態(tài)方法調用
2.9 重載與重寫
2.10 控制對方法和數(shù)據的訪問
2.11 小結
2.12 練習題
2.13 參考文獻
第3章 優(yōu)雅性與實現(xiàn)繼承
3.1 關于繼承的四個觀點
3.1.1 代碼重用觀點
3.1.2 Is-A觀點
3.1.3 公共接口觀點
3.1.4 多態(tài)觀點
3.2 代碼重用的充分性
3.3 代碼重用聯(lián)合Is-A關系的充分性
3.4 代碼重用、Is-A關系以及公共接口的充分性
3.5 Has-A關系和UML關聯(lián)關系
3.6 代碼重用、Is-A關系、公共接口以及多態(tài)的充分性
3.7 使用實現(xiàn)繼承的代價
3.8 示例:人、女人和男人
3.9 示例:繪制多邊形
3.10 示例:排序
3.11 Java中數(shù)組的子類化
3.12 回顧:繼承與引用
3.13 小結
3.14 練習題
3.15 參考文獻
第4章 優(yōu)雅性與方法
4.1 編碼風格和命名約定
4.2 方法與分解
4.3 內聚方法
4.4 結構良好的對象和類不變式
4.5 內部文檔
4.6 外部文檔
4.7 案例分析:重寫Java中的equals方法
4.8 案例分析:重寫Java中的clone方法
4.9 重構
4.10 代碼優(yōu)化
……
第5章 優(yōu)雅性和類
第6章 Money類的簡單案例研究
第7章 設計模式介紹
第8章 繪圖應用程序案例研究
第9章 語言解析器案例研究
附錄A UML介紹
附錄B 編碼約定和Javadoc注釋