注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計其他編程語言/工具面向?qū)ο缶幊虒д摚ㄔ瓡?版)

面向?qū)ο缶幊虒д摚ㄔ瓡?版)

面向?qū)ο缶幊虒д摚ㄔ瓡?版)

定 價:¥45.00

作 者: (美)Timothy A.Budd著;黃明軍,李桂杰譯
出版社: 機械工業(yè)出版社
叢編項: 軟件工程技術叢書·對象技術系列
標 簽: 面向?qū)ο?/td>

ISBN: 9787111126669 出版時間: 2003-09-01 包裝: 平裝
開本: 24cm 頁數(shù): 465 字數(shù):  

內(nèi)容簡介

  本書通過對象、方法、繼承(包括多重繼承)和多態(tài)等概念,以獨立于編程語言的方式介紹了面向?qū)ο缶幊痰脑?。書中所列舉的實例涉及多種編程語言,其中包括Java、C++、C#、Delphi、Python、CIDS、Eiffel、Objective-C、Smalltalk等。通過研究這些編程語言,讀者可以更好地理解隱藏在各種語言語法之后的基本原理。此外,作者還從面向?qū)ο蟮慕嵌葘@些語言進行了分析比較。 本書內(nèi)容全面,特別適合作為計算機專業(yè)本科高年級和研究生一年級的教材,同時也可以供那些從傳統(tǒng)的面向過程編程轉向面向?qū)ο缶幊?、想要了解面向?qū)ο蠡靖拍畹某鯇W者使用。 本書是經(jīng)典面向?qū)ο蠹夹g教材的最新版,原版己被哥倫比亞大學、佛羅里達大學、南非大學、羅馬大學等眾多世界名校用做教材。書中通過對象、方法、繼承(包括多重繼承)和多態(tài)等概念,以獨立于編程語言的方式介紹了面向?qū)ο蟮脑怼兴信e的實例涉及多種編程語言,其中包括Java、C++、C#、Delphi、Python,CLOS、Eiffel、Objective—C、Smalltalk等。通過研究這些編程語言,讀者可以更好地理解隱藏在各種語言語法之后的基本原理。定義了面向?qū)ο缶幊绦g語提供了Java、C++和C#語言之間的大量比較通過案例研究,討論了面向?qū)ο笳Z言是如何應用各種多態(tài)技術的,并說明了如何使用多態(tài)來建立軟件框架 深入研究了多種面向?qū)ο笳Z言中的多重繼承技術,包括多重接口和嵌套類介紹了子類/子類型之間的差異集成并使用了UML表示法和圖表涵蓋了設計模式、反射和內(nèi)省、網(wǎng)絡編程以及面向?qū)ο笳Z言的實現(xiàn)技術等高級主題教輔材料、樣章、勘誤表可通過下列網(wǎng)址下載:ftp.cs.orst.edu/pub/budd/oopintro/3rdEdition/info.html 作者簡介:Timothy Budd是美國俄勒岡州立大學計算機科學系的副教授。許多程序員都受益于他所著的書籍,除本書外,他還撰寫了Classic Data Structures in Java、Understanding Object-Oriented Programming with Java、C++ for Java Programmers、Data Structures in C++ Using the Standard Template Library、Classic Data Structures in C++、Multiparadigm Programming in Leda和A Little Smalltalk,所有這些書都是由Addison-Wesley出版的。

作者簡介

  Timothy Budd是美國俄勒岡州立大學計算機科學系的副教授。許多程序員都受益于他所著的書籍,除本書外,他還撰寫了Classic Data Structures in Java、Understanding Object-Oriented Programming with Java、C++ for Java Programmers、Data Structures in C++ Using the Standard Template Library、Classic Data Structures in C++、Multiparadigm Programming in Leda和A Little Smalltalk,所有這些書都是由Addison-Wesley出版的。

圖書目錄

第1章  面向?qū)ο笏枷?nbsp;                 
 1. 1  為什么OOP這么流行                  
 1. 2  語言和思維                  
 1. 2. 1  愛斯基摩人和雪                  
 1. 2. 2  關于計算機語言的一個例子                  
 1. 2. 3  丘奇猜想和沃夫假說                  
 1. 3  一個新的范例                  
 1. 4  一種觀察世界的方式                  
 1. 4. 1  代理和團體                  
 1. 4. 2  消息和方法                  
 1. 4. 3  責任                  
 1. 4. 4  類和實例                  
 1. 4. 5  類的層次--繼承                  
 1. 4. 6  方法綁定與改寫                  
 1. 4. 7  面向?qū)ο蟾拍羁偨Y                  
 1. 5  模擬計算                  
 1. 5. 1  隱喻的力量                  
 1. 5. 2  避免無限回歸                  
 1. 6  一段簡史                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第2章  抽象                  
 2. 1  抽象層次                  
 2. 2  抽象的其他形式                  
 2. 2. 1  部分分化                  
 2. 2. 2  封裝和互換性                  
 2. 2. 3  接口和實現(xiàn)                  
 2. 2. 4  服務視角                  
 2. 2. 5  復合法                  
 2. 2. 6  特化分層                  
 2. 2. 7  模式                  
 2. 3  抽象機制的發(fā)展簡史                  
 2. 3. 1  匯編語言                  
 2. 3. 2  過程                  
 2. 3. 3  模塊                  
 2. 3. 4  抽象數(shù)據(jù)類型                  
 2. 3. 5  以服務為中心的觀點                  
 2. 3. 6  消息. 繼承和多態(tài)                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第3章  面向?qū)ο笤O計                  
 3. 1  責任意味著無干擾                  
 3. 2  小項目編程與大項目編程                  
 3. 3  為什么從行為開始                  
 3. 4  一個RDD實例                  
 3. 4. 1  交互式智能廚房助手                  
 3. 4. 2  通過場景工作                  
 3. 4. 3  組件的標識                  
 3. 5 CRC卡--記錄責任                  
 3. 5. 1  給組件一個物理表示                  
 3. 5. 2  "什么/誰"循環(huán)                  
 3. 5. 3  文檔                  
 3. 6  組件和行為                  
 3. 6. 1  延遲決定                  
 3. 6. 2  為變化做準備                  
 3. 6. 3  繼續(xù)場景                  
 3. 6. 4  交互圖表                  
 3. 7  軟件組件                  
 3. 7. 1  行為和狀態(tài)                  
 3. 7. 2  實例和類                  
 3. 7. 3  耦合性和內(nèi)聚性                  
 3. 7. 4  接口和實現(xiàn)--Parnas原則                  
 3. 8  形式化接口                  
 3. 9  設計表現(xiàn)                  
 3. 10  實現(xiàn)組件                  
 3. 11  組件集成                  
 3. 12  維護和升級                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第4章  類和方法                  
 4. 1  封裝                  
 4. 2  類定義                  
 4. 2. 1  C++. Java和C#語言                  
 4. 2. 2 Apple Object Pascal和Delphi Pascal語言                  
 4. 2. 3  Smalltalk語言                  
 4. 2. 4  其他語言                  
 4. 3  方法                  
 4. 3. 1  類中方法的聲明次序                  
 4. 3. 2  常量或不可變數(shù)據(jù)字段                  
 4. 3. 3  定義和實現(xiàn)的分離                  
 4. 4  關于類主題的變化                  
 4. 4. 1  Oberon語言中不屬于類的方法                  
 4. 4. 2  接口                  
 4. 4. 3  屬性                  
 4. 4. 4  向前定義                  
 4. 4. 5  內(nèi)部類(或嵌套類)                  
 4. 4. 6  類的數(shù)據(jù)字段                  
 4. 4. 7  作為對象的類                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第5章  消息. 實例和初始化                  
 5. 1  消息傳遞語法                  
 5. 2  靜態(tài)類型語言和動態(tài)類型語言                  
 5. 3  從方法內(nèi)部存取接收器                  
 5. 4  對象的創(chuàng)建                  
 5. 5  指針和內(nèi)存分配                  
 5. 6  構造函數(shù)                  
 5. 6. 1  正統(tǒng)規(guī)范的類形式                  
 5. 6. 2  常數(shù)值                  
 5. 7  析構函數(shù)和終止器                  
 5. 8  Smalltalk語言中的元類                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第6章  案例研究:八皇后問題                  
 6. 1  八皇后問題                  
 6. 2  使用生成器                  
 6. 2. 1  初始化                  
 6. 2. 2  找到解決方案                  
 6. 2. 3  前進到下一位置                  
 6. 3  用幾種語言實現(xiàn)八皇后問題                  
 6. 3. 1  用Object Pascal語言實現(xiàn)八皇后問題                  
 6. 3. 2  用C++語言實現(xiàn)八皇后問題                  
 6. 3. 3  用Java語言實現(xiàn)八皇后問題                  
 6. 3. 4  用Obieetive-C語言實現(xiàn)八皇后問題                  
 6. 3. 5  用Smalltalk語言實現(xiàn)八皇后問題                  
 6. 3. 6  用Ruby語言實現(xiàn)八皇后問題                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第7章  案例研究:臺球游戲                  
 7. 1  臺球元素                  
 7. 2  圖形對象                  
 7. 2. 1  桌壁圖形對象                  
 7. 2. 2  洞口圖形對象                  
 7. 2. 3  球圖形對象                  
 7. 3  主程序                  
 7. 4  使用繼承                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第8章  繼承與替換                  
 8. 1  關于繼承的直觀描述                  
 8. 1. 1  "是一個"檢驗                  
 8. 1. 2  使用繼承的原因                  
 8. 2  不同語言中的繼承                  
 8. 3  子類. 子類型和替換                  
 8. 4  改寫和虛擬方法                  
 8. 5  接口和抽象類                  
 8. 6  繼承的形式                  
 8. 6. 1  特化子類化(子類型化)                  
 8. 6. 2  規(guī)范子類化                  
 8. 6. 3  構造子類化                  
 8. 6. 4  泛化子類化                  
 8. 6. 5  擴展子類化                  
 8. 6. 6  限制子類化                  
 8. 6. 7  變體子類化                  
 8. 6. 8  結合子類化                  
 8. 6. 9  各種繼承形式小結                  
 8. 7  關于繼承的變體                  
 8. 7. 1  Java語言中的匿名類                  
 8. 7. 2  繼承和構造函數(shù)                  
 8. 7. 3  虛擬析構函數(shù)                  
 8. 8  繼承的優(yōu)點                  
 8. 8. 1  軟件可復用性                  
 8. 8. 2  代碼共享                  
 8. 8. 3  接口的一致性                  
 8. 8. 4  軟件組件                  
 8. 8. 5  快速原型法                  
 8. 8. 6  多態(tài)和框架                  
 8. 8. 7  信息隱藏                  
 8. 9  繼承的代價                  
 8. 9. 1  程序執(zhí)行速度                  
 8. 9. 2  程序大小                  
 8. 9. 3  消息傳遞的開銷                  
 8. 9. 4  程序復雜性                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第9章  案例研究:紙牌游戲                  
 9. 1  PlayingCard類                  
 9. 2  數(shù)據(jù)類和視圖類                  
 9. 3  游戲                  
 9. 4  牌堆--使用繼承                  
 9. 4. 1  缺省牌堆                  
 9. 4. 2  花色堆                  
 9. 4. 3  待用堆                  
 9. 4. 4  丟棄堆                  
 9. 4. 5  桌面堆                  
 9. 5  多種形式的游戲                  
 9. 6  圖形用戶界面                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第10章  子類和子類型                  
 10. 1  可替換性                  
 10. 2  子類型                  
 10. 3  可替換性悖論                  
 10. 4  構造子類化                  
 10. 5  動態(tài)類型語言                  
 10. 6  前置條件和后置條件                  
 10. 7  改進語義                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第11章  靜態(tài)行為和動態(tài)行為                  
 11. 1  靜態(tài)類型化和動態(tài)類型化                  
 11. 2  靜態(tài)類和動態(tài)類                  
 11. 2. 1  運行時類型決定                  
 11. 2. 2  向下造型(反多態(tài))                  
 11. 2. 3  非語言支持的運行時測試                  
 11. 2. 4  檢驗是否理解消息                  
 11. 3  靜態(tài)方法綁定和動態(tài)方法綁定                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第12章  替換的本質(zhì)                  
 12. 1  內(nèi)存布局                  
 12. 1. 1  最小靜態(tài)空間分配                  
 12. 1. 2  最大靜態(tài)空間分配                  
 12. 1. 3  動態(tài)內(nèi)存分配                  
 12. 2  賦值                  
 12. 3  復制和克隆                  
 12. 3. 1  Smalltalk語言和Objective-C語言中的復制                  
 12. 3. 2  C++語言中的拷貝構造函數(shù)                  
 12. 3. 3  Java語言中的克隆                  
 12. 4  相同                  
 12. 4. 1  相同和同一                  
 12. 4. 2  相同檢驗的悖論                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第13章  多重繼承,                   
 13. 1  分類化繼承                  
 13. 2  多重繼承帶來的問題                  
 13. 2. 1  名稱歧義                  
 13. 2. 2  對替換的影響                  
 13. 2. 3  Eiffel語言中的重定義                  
 13. 2. 4  CLOS語言的類排序解決方案                  
 13. 3  接口的多重繼承                  
 13. 4  繼承于公共祖先                  
 13. 5  內(nèi)部類                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第14章  多態(tài)及軟件復用                  
 14. 1  編程語言中的多態(tài)                  
 14. 2  軟件復用機制                  
 14. 2. 1  使用組合                  
 14. 2. 2  使用繼承                  
 14. 2. 3  組合和繼承的比較                  
 14. 3  效率和多態(tài)                  
 14. 4  軟件復用的普及會成為現(xiàn)實嗎                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第15章  重載                  
 15. 1  類型簽名和范疇                  
 15. 2  基于范疇的重載                  
 15. 3  基于類型簽名的重載                  
 15. 4  重定義                  
 15. 5  多價                  
 15. 6  多方法                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第16章  改寫                  
 16. 1  標識改寫                  
 16. 2  代替與改進                  
 16. 2. 1  Smalltalk語言中的代替                  
 16. 2. 2  Beta語言中的改進                  
 16. 2. 3  改進與子類/子類型之間的差異                  
 16. 2. 4  CADS語言中的封裝                  
 16. 3  延遲方法                  
 16. 4  改寫與遮蔽                  
 16. 5  協(xié)方差與反協(xié)方差                  
 16. 6  改寫的變體                  
 16. 6. 1  Java語言中的final方法                  
 16. 6. 2  C#語言中的版本化                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第17章  多態(tài)變量                  
 17. 1  簡單多態(tài)變量                  
 17. 2  接收器變量                  
 17. 2. 1  多態(tài)變量在框架中的作用                  
 17. 2. 2  Smalltalk語言中的端點比較                  
 17. 2. 3  self和super                  
 17. 3  向下造型                  
 17. 4  純多態(tài)                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第18章  泛型                  
 18. 1  模板函數(shù)                  
 18. 2  模板類                  
 18. 3  模板參數(shù)中的繼承                  
 18. 4  案例研究:結合分離的類                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第19章  容器類                  
 19. 1  動態(tài)類型語言中的容器                  
 19. 2  靜態(tài)類型語言中的容器                  
 19. 2. 1  類型化和復用之間的關系                  
 19. 2. 2  替換和向下造型                  
 19. 2. 3  使用替換和改寫                  
 19. 2. 4  參數(shù)化類                  
 19. 3  限制元素類型                  
 19. 4  元素遍歷                  
 19. 4. 1  迭代器循環(huán)                  
 19. 4. 2  訪問器方法                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第20章  案例研究:標準模板庫                  
 20. 1  迭代器                  
 20. 2  函數(shù)對象                  
 20. 3  樣例程序--庫存系統(tǒng)                  
 20. 4  樣例程序--圖表                  
 20. 4. 1  最短路徑算法                  
 20. 4. 2  開發(fā)數(shù)據(jù)結構                  
 20. 5  詞匯索引                  
 20. 6  OOP的未來                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第21章  框架                  
 21. 1  復用和特化                  
 21. 1. 1  高級抽象和低級抽象                  
 21. 1. 2  倒置庫                  
 21. 2  樣例框架                  
 21. 2. 1  Java Applet APl                  
 21. 2. 2  模擬框架                  
 21. 2. 3  事件驅(qū)動的模擬框架                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第22章  框架實例:AWT和Swing                  
 22. 1  AWT的類繼承層次                  
 22. 2  布局管理器                  
 22. 3  監(jiān)聽器                  
 22. 4  用戶界面組件                  
 22. 5  案例研究:顏色顯示                  
 22. 6  Swing組件庫                  
 22. 6. 1  導入庫                  
 22. 6. 2  不同的組件                  
 22. 6. 3  不同的繪制協(xié)議                  
 22. 6. 4  為窗口增加組件                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第23章  對象互連                  
 23. 1  耦合和內(nèi)聚                  
 23. 1. 1  耦合的種類                  
 23. 1. 2  內(nèi)聚的種類                  
 23. 1. 3  德墨特爾法則                  
 23. 1. 4  類級別可視性與對象級別可視性                  
 23. 1. 5  活動值                  
 23. 2  子類客戶和用戶客戶                  
 23. 3  存取控制和可視性                  
 23. 3. 1  Smalltalk語言中的可視性                  
 23. 3. 2  ObiectPascal語言中的可視性                  
 23. 3. 3  C++語言中的可視性                  
 23. 3. 4  Java語言中的可視性                  
 23. 3. 5  Obiective-C語言中的可視性                  
 23. 4  有意依賴性                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第24章  設計模式                  
 24. 1  控制信息流                  
 24. 2  描述模式                  
 24. 3  迭代器                  
 24. 4  軟件工廠                  
 24. 5  策略                  
 24. 6  單件                  
 24. 7  組合                  
 24. 8  裝飾器                  
 24. 9  雙調(diào)度模式                  
 24. 10  享元                  
 24. 11  代理                  
 24. 12  外觀                  
 24. 13  觀察者                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第25章  反射和內(nèi)省                  
 25. 1  理解機制                  
 25. 1. 1  類對象                  
 25. 1. 2  字符串形式的類名稱                  
 25. 1. 3  檢測對象類                  
 25. 1. 4  通過類建立實例                  
 25. 1. 5  檢測對象是否理解消息                  
 25. 1. 6  類行為                  
 25. 2  作為對象的方法                  
 25. 3  修改機制                  
 25. 3. 1  Smalltalk語言中的方法編輯,                   
 25. 3. 2  Java語言中的動態(tài)類加載                  
 25. 4  元類                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
                   
 第26章  分布式對象                  
 26. 1  地址. 端口和套接字                  
 26. 2  一個簡單的客戶朋艮務器程序                  
 26. 3  多客戶端                  
 26. 4  通過網(wǎng)絡傳輸對象                  
 26. 5  更復雜的技術                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
                   
 第27章  實現(xiàn)                  
 27. 1  編譯器和解釋器                  
 27. 2  作為參數(shù)的接收器                  
 27. 3  繼承方法                  
 27. 3. 1  多重繼承的問題                  
 27. 3. 2  裁剪問題                  
 27. 4  改寫方法                  
 27. 5  名稱編碼                  
 27. 6  分派表                  
 27. 7  字節(jié)碼解釋器                  
 27. 8  即時編譯                  
 小結                  
 進一步閱讀材料                  
 自學提問                  
 練習                  
 附錄A  八皇后問題的源代碼                  
 附錄B  臺球游戲的源代碼                  
 附錄C  紙牌游戲的源代碼                  
 術語表                  
 參考文獻                  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號