面向對象設計原理與模式

出版時間:2009-4  出版社:斯科瑞、騰靈靈、 仲婷 清華大學出版社 (2009-04出版)  作者:斯科瑞  頁數:310  
Tag標簽:無  

內容概要

  《面向對象設計原理與模式》全面介紹了Java面向對象程序設計的原理和模式,幫助解決Java程序中的設計問題。此外,該書十分注重Java面向對象程序設計的每個細節(jié),以及繼承、方法、類、設計模式等在程序設計中起到的關鍵作用,濃縮了Java的精華。在進行理論介紹的同時,《面向對象設計原理與模式》十分重視實踐技能的培養(yǎng),一些較為綜合的實例貫穿了相關的知識點,使學生理解并掌握它們在程序設計中的真正用處和在提升程序性能方面的作用?!睹嫦驅ο笤O計原理與模式》不但可作為高校計算機科學專業(yè)的教材,還可作為Java程序設計人員的必備參考書。

作者簡介

作者:(美國)斯科瑞 譯者:騰靈靈 仲婷Dale Skrien,美國Colby大學計算機科學系的教授,研究方向為算法圖形理論,面向對象設計,以及計算機音樂。

書籍目錄

第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 控制對方法和數據的訪問 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中數組的子類化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注釋

章節(jié)摘錄

第1章 面向對象設計與實現(xiàn)的優(yōu)雅性對于閱讀本書的大學生而言,您很可能已經學習了一些計算機科學的相關課程,其中有一門對于編程的介紹性課程。經過認真的學習,您一定掌握了至少一門編程語言的基本編程概念。您學會了諸如循環(huán)、賦值和條件語句等語言結構,也學會了編寫這些語言結構的一種或多種方法。您更有可能已經理解了計算機科學并不僅僅是編程而已,事實上,編程僅僅是計算機科學工作者的一種工具。遺憾的是,因為沒有時間講解計算機科學中如此眾多的主題,所以您將無法獲悉解決同一問題的各種不同方法的優(yōu)缺點。舉例來說,在較低的層次上,存在很多種方法來實現(xiàn)一個結構,例如循環(huán)(比如,可以使用for循環(huán),while循環(huán)或者遞歸),其中的某些方法相對而言會更加優(yōu)越。在高一點的層次上,存在多種方法來實現(xiàn)一個任務(如歸并排序或者選擇排序),其中某些相比而言更為快速。再高一點的層次上,存在各種方法來將一個程序劃分為諸如類或者方法的模塊,其中某些分割的方法會更加合適。我們來看一個最后那種情況的例子。請考慮這樣一個問題,該問題需要編寫一個模塊來存儲集合,該集合包括一些人以及他們各自的狗的信息。這個集合需要被保存為散列表、數組還是其他的集合形式?這個集合是需要存儲Person對象還是Person-Dog這樣的對象組合。Dog對象是否需要有實例變量指向其主人?而狗的主人又是否需要實例變量指向他所擁有的狗的集合?如果是的話,這又將是一個怎樣的集合?這樣的Person對象還需要存儲哪些其他數據?如果這些人是美國公民,是否需要存儲他們的社會保障號碼?是否需要將這樣的人的集合排序以便于查找?如果一個人的某條狗死了,是否需要將其從這個集合中刪除,或是將其保留為一個沒有狗的人?很自然地,您會疑惑這些問題的答案是否真的很重要。如果兩個設計,一個只有少數幾個類和方法,另一個則包含很多類和方法,當這兩個設計都能解決問題的時候,具體使用哪個設計是否真的很重要?類似地,如果所有版本的循環(huán)都能正確地完成計算,具體使用哪個版本是否真的很重要?如果兩個算法都能正確計算,哪個運行更快是否真的很重要,尤其是在考慮到每年硬件處理速度飛速增長的情況下?

編輯推薦

  本書特色:根據代碼“優(yōu)雅性”討論設計和實現(xiàn),使用小型和中型案例分析來介紹設計原理和模式,大部分設計模式均在解決某個問題的背景中引入,在每章的末尾都有大量的各種難度的練習題,便于學生溫故而知新。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    面向對象設計原理與模式 PDF格式下載


用戶評論 (總計2條)

 
 

  •   通俗易懂,內容充實。。。
  •   很好的詮釋了面向對象的原理,指導你設計
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7