注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計JAVA及其相關(guān)面向?qū)ο缶幊藽++和Java比較教程:中文版

面向?qū)ο缶幊藽++和Java比較教程:中文版

面向?qū)ο缶幊藽++和Java比較教程:中文版

定 價:¥76.00

作 者: (美)Avinash C. Kak著;徐波譯
出版社: 人民郵電出版社
叢編項: 國外著名高等院校信息科學(xué)與技術(shù)優(yōu)秀教材
標(biāo) 簽: C語言 程序設(shè)計 高等學(xué)校 教材

ISBN: 9787115122773 出版時間: 2004-01-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 820 字數(shù):  

內(nèi)容簡介

方便學(xué)習(xí)和易于掌握相似的基本語言結(jié)構(gòu);增添學(xué)習(xí)樂趣,了解每種語言的優(yōu)點和不足;用不同語言編寫具有相同功能的程序,可以培養(yǎng)靈活處理復(fù)雜項目的能力;相同概念的比較能夠加深對概念的理解。AvinashC.Kak是普度大學(xué)電子和計算機工程系的教授,負責(zé)教授面向?qū)ο缶幊毯驮O(shè)計課程,多次被評為“年度最佳教師”。C++和Java是目前兩種主流的面向?qū)ο缶幊陶Z言。本書從基本結(jié)構(gòu)到如何進行應(yīng)用層次的編程,對這兩種語言進行比較和對照,具有重要的學(xué)術(shù)價值和現(xiàn)實意義。全書共20章,分別從基礎(chǔ)概念和機制、基本語言要素、OO編程特性、專業(yè)編程應(yīng)用等方面,介紹了C++和Java的精髓和區(qū)別。本書還有一個獨特的學(xué)習(xí)方式,就是用C++重新編寫一個特定的Java程序,實現(xiàn)相同的功能,或者反過來,用Java重寫C++程序。這種方法能夠培養(yǎng)學(xué)生更加靈活地處理那些比較困難的項目,無論是C++還是Java項目。每章最后的“更多閱讀推薦”提供了豐富的可查詢資料。本書適合高等院校計算機專業(yè)用做面向?qū)ο蟪绦蛟O(shè)計課程的教材,對于熟悉C++和Java兩種語言中的一種,?窒肓私夂駝莆樟硪恢鐘镅緣某絳蛟幣卜淺S邪鎦???

作者簡介

  徐波浙江寧波人,熟悉C、C++和Java語言。2002年開始從事計算機技術(shù)圖書翻譯,第一部譯作《C專家編程》博得好評,其謙遜平和的態(tài)度也使讀者產(chǎn)生好感。徐波技術(shù)視野廣闊,翻譯文筆優(yōu)美,是頗具潛力的譯作者。特點特長:(1)英語基礎(chǔ)較好,熟悉多種編程語言。(2)語言功底深厚,文筆優(yōu)美得當(dāng)。(3)態(tài)度謙遜平和,善于聽取讀者意見。頗具潛力的譯作者。>>更多作品

圖書目錄

第1章  大處著眼—OO編程的一些共性 1
1.1  什么是面向?qū)ο缶幊?1
1.2  OO有什么優(yōu)點 1
1.3  如何精通OO 2
第2章  初窺門徑 3
2.1  簡單程序:對一個整型數(shù)組求和 3
2.2  簡單程序:終端I/O 8
2.3  簡單程序:文件I/O 12
2.4  更多閱讀推薦 16
2.5  作業(yè) 16
第3章  類及其他一些關(guān)鍵的概念 18
3.1  在C++中定義類 20
3.2  在Java中定義類 23
3.3  創(chuàng)建對象:C++和Java 的異同 25
3.4  在C++中定義子類 26
3.5  在Java中定義子類 29
3.6  阻 斷 繼 承 32
3.7  創(chuàng)建對象的打印表示形式 34
3.8  對象的銷毀 35
3.9  Java的程序包(Package) 36
3.10  C++的名字空間(namespace) 40
3.10.1  using聲明和using指令 42
3.10.2  哪個名字空間擁有從其他名字空間中引入的名字 43
3.10.3  using聲明和using指令的作用域 44
3.10.4  嵌套名字空間和名字空間別名 45
3.10.5  無名名字空間 46
3.10.6  Koenig不帶限定名稱的函數(shù)名查找 46
3.11  類成員的訪問控制 47
3.12  抽象類和接口 49
3.13  對象的比較 51
3.14  類的靜態(tài)成員 54
3.15  模板類 55
3.16  嵌套類型 56
3.16.1  C++的嵌套類 56
3.16.2  Java的嵌套類 60
3.17  在C程序中實現(xiàn)OO行為 64
3.18  更多閱讀推薦 70
3.19  作業(yè) 70
第4章  字符串 73
4.1  C的字符串:簡單回顧 73
4.2  C風(fēng)格字符串的一些弱點 75
4.3  C++的字符串 76
4.3.1  創(chuàng)建C++字符串對象 77
4.3.2  訪問單個字符 77
4.3.3  字符串比較 78
4.3.4  連接字符串 80
4.3.5  查找子字符串和字符 81
4.3.6  提取子字符串 83
4.3.7  刪除和插入子字符串 83
4.3.8  長度和容量 84
4.3.9  其他字符串函數(shù) 87
4.4  Java的字符串 88
4.4.1  創(chuàng)建String和StringBuffer對象 89
4.4.2  訪問單獨的字符 91
4.4.3  字符串的比較 92
4.4.4  連接字符串 94
4.4.5  查找和替換 95
4.4.6  刪除和插入子字符串 96
4.4.7  提取子字符串 96
4.5  更多閱讀推薦 97
4.6  作業(yè) 97
第5章  使用容器類 100
5.1  C++的容器類 101
5.1.1  Vector 103
5.1.2  Deque 114
5.1.3  List 116
5.1.4  Stack 118
5.1.5  Queue 119
5.1.6  Priority_Queue 120
5.1.7  Map 121
5.1.8  Set 123
5.1.9  泛型算法 124
5.2  Java的容器 124
5.2.1  List 126
5.2.2  Set 129
5.2.3  Map 130
5.2.4  Vector 133
5.2.5  Java容器的算法 135
5.3  參考資料和更多閱讀推薦 137
5.4  作業(yè) 138
第6章  基本類型及其輸入/輸出 144
6.1  標(biāo)記、標(biāo)識符和變量名 144
6.2  C++和Java的基本類型 145
6.3  布爾類型 145
6.4  字符類型 146
6.5  整 數(shù) 類 型 150
6.6  浮點類型 151
6.7  基本類型的類型轉(zhuǎn)換 152
6.7.1  C++的隱式類型轉(zhuǎn)換 152
6.7.2  Java的隱性類型轉(zhuǎn)換 155
6.7.3  C++的顯式類型轉(zhuǎn)換 158
6.7.4  Java的顯式類型轉(zhuǎn)換 159
6.8  C++的I/O流 161
6.8.1  C++的流層次體系 161
6.8.2  字符流的輸入輸出操作 162
6.8.3  字節(jié)流的輸入輸出操作 167
6.8.4  控制格式 171
6.8.5  字符串流 174
6.9  Java的I/O流 175
6.9.1  基本類型的寫入 177
6.9.2  字符串的寫入 181
6.9.3  基本類型的讀取 184
6.9.4  字符串的讀取 185
6.10  更多閱讀推薦 186
6.11  作業(yè) 186
第7章  聲明、定義和初始化 191
7.1  什么時候聲明同時也是定義 191
7.2  C++的變量在定義時是否同時進行了缺省初始化 193
7.2.1 如果不提供無參構(gòu)造函數(shù)會出現(xiàn)什么情況 195
7.2.2  const和引用成員的特殊情況 197
7.3  在Java中變量在定義時會不會進行缺省的初始化 198
7.3.1  缺省初始化是否受類成員的缺省值影響 200
7.3.2  如果構(gòu)造函數(shù)為一個類成員指定了一個值,那么它的缺省值是否忽略 200
7.4  在C++中聲明指針類型 201
7.5  C++的指針數(shù)組 203
7.6  聲明多個名字 204
7.7  C++標(biāo)識符的作用域 205
7.8  Java標(biāo)識符的作用域 206
7.9  C++的數(shù)組及其初始化 207
7.10  Java的數(shù)組及其初始化 210
7.10.1  Java數(shù)組是個對象 212
7.10.2  實現(xiàn)排序、查找等功能的java.lang.Arrays類 213
7.11  符號常量 214
7.12  C++的宏 215
7.13  C++的枚舉類型 216
7.14  參考資料和更多閱讀推薦 219
7.15  作業(yè) 219
第8章  對象引用和內(nèi)存分配 222
8.1  C++的對象引用 222
8.2  Java的對象引用 224
8.3  C++的內(nèi)存分配 224
8.4  Java的內(nèi)存分配 225
8.5  C++的結(jié)構(gòu) 226
8.6  作業(yè) 228
第9章  函數(shù)和方法 232
9.1  函數(shù)聲明 232
9.2  C++的參數(shù)傳遞 232
9.2.1  按照傳值方式傳遞一個基本類型的參數(shù) 233
9.2.2  按照傳指針模式傳遞一個基本類型的參數(shù) 233
9.2.3  按照傳引用模式傳遞一個基本類型的參數(shù) 234
9.2.4  按照傳值模式傳遞一個類類型的參數(shù) 235
9.2.5  按照傳指針模式傳遞一個類類型的參數(shù) 236
9.2.6  按照傳引用模式傳遞一個類類型的參數(shù) 237
9.3  Java的參數(shù)傳遞 238
9.3.1  按照傳值模式傳遞一個基本類型的參數(shù) 238
9.3.2  按照傳遞對象引用模式傳遞一個類類型的參數(shù) 238
9.4  返回引用類型的C++函數(shù) 241
9.5  C++的內(nèi)聯(lián)函數(shù) 243
9.6  C++的靜態(tài)變量 244
9.7  C++函數(shù)的const參數(shù)和const返回類型 245
9.8  Java方法的final形參 247
9.9  數(shù) 組 參 數(shù) 247
9.10  C++的函數(shù)重載解析 248
9.11  Java的函數(shù)重載解析 251
9.12  C++函數(shù)的缺省參數(shù) 252
9.13  C++的函數(shù)指針 253
9.14  更多閱讀推薦 255
9.15  作業(yè) 255
第10章  異常處理 260
10.1  C用于多層返回的setjmp/longjmp機制 260
10.2  C++的異常處理 263
10.3  C++異常處理的一些用法模式 264
10.4  C++和Java的異常處理的區(qū)別 270
10.5  Java的異常處理語法 271
10.6  Java異常處理的一些用法模式 272
10.7  Java的checked和unchecked異常 277
10.8  更多閱讀推薦 278
10.9  作業(yè) 278
第11章  類:剩余的故事 281
11.1  構(gòu)造函數(shù)的訪問控制 281
11.1.1  限制對象數(shù)量 281
11.1.2  限制對C++無參構(gòu)造函數(shù)的訪問 283
11.2  多個構(gòu)造函數(shù)可否互相調(diào)用 285
11.3  C++的靜態(tài)成員 285
11.4  Java的靜態(tài)成員 291
11.5  C++的const成員函數(shù) 295
11.6  C++的自身引用 295
11.7  Java的自身引用 298
11.8  C++的析構(gòu)函數(shù) 299
11.9   Java的對象銷毀 303
11.10  C++的拷貝構(gòu)造函數(shù)和拷貝賦值操作符 306
11.11  Java的賦值操作符的語義 310
11.12  Java的對象克隆 311
11.13  C++的指向類成員的指針 316
11.14  交叉類(Interleaved Class) 318
11.15  C++研究:一個具有適度復(fù)雜性的交叉類 319
11.16  Java研究:一個具有適度復(fù)雜性的交叉類 329
11.17  更多閱讀推薦 335
11.18  作業(yè) 335
第12章  C++的操作符重載 343
12.1  操作符標(biāo)記和操作符函數(shù) 343
12.2  操作符的全局重載定義 344
12.3  操作符的成員函數(shù)重載定義 345
12.4  單目操作符的全局重載定義 347
12.5  單目操作符的成員函數(shù)重載定義 348
12.6  操作符重載的案例研究 349
12.7  靈巧指針(smart pointer):解引用操作符的重載 360
12.8  自增和自減操作符的重載 367
12.9  用戶定義的轉(zhuǎn)換 371
12.10  “()”操作符的重載 374
12.11  通過“<”操作符的重載對類類型的對象進行排序 376
12.12  參考資料和更多閱讀推薦 379
12.13  作業(yè) 379
第13章  泛型和模板 381
13.1  C++的參數(shù)化類和函數(shù) 383
13.1.1  一個C++鏈表程序的實現(xiàn) 383
13.1.2  一個參數(shù)化的鏈表程序 386
13.1.3  模板特化 391
13.1.4  模板聲明的通用語法 393
13.2  重溫迭代器 395
13.2.1  泛型算法的迭代器類型 395
13.2.2  如何聲明迭代器 396
13.3  Java的參數(shù)化類 397
13.3.1  在Java中創(chuàng)建自己的參數(shù)化類型 399
13.3.2  方法的參數(shù)化 403
13.3.3  限制參數(shù) 405
13.4  參考資料和更多閱讀推薦 408
13.5  作業(yè) 408
第14章  OO編程的模型圖 410
14.1  用例圖 410
14.2  類圖 412
14.2.1  類之間的關(guān)聯(lián)關(guān)系 413
14.2.2  類之間的聚合和合成關(guān)系 414
14.2.3  表示屬性 415
14.2.4  表示操作 415
14.2.5  類別模板(stereotype) 416
14.3  交互圖 416
14.3.1  順序圖 417
14.3.2  協(xié)作圖 421
14.4  包圖 421
14.5  狀態(tài)圖 423
14.6  活動圖 427
14.7  參考資料和更多閱讀推薦 428
14.8  作業(yè) 430
第15章  類的擴展 431
15.1  C++子類的公共派生 431
15.2  C++派生類的構(gòu)造函數(shù) 434
15.3  C++派生類的拷貝構(gòu)造函數(shù) 436
15.4  C++派生類的拷貝賦值操作符 438
15.5  C++派生類的操作符重載 440
15.6  C++派生類的析構(gòu)函數(shù) 443
15.7  C++的虛擬成員函數(shù) 448
15.7.1  虛擬函數(shù)聲明的限制 452
15.7.2  多層類層次體系中的虛擬函數(shù) 452
15.7.3  操作符能否具有多態(tài)行為 454
15.7.4 多態(tài)類型 454
15.8  C++函數(shù)的靜態(tài)綁定和動態(tài)綁定 455
15.9  C++函數(shù)覆蓋的限制 458
15.10  C++的虛擬析構(gòu)函數(shù) 461
15.11  C++構(gòu)造函數(shù)的順序依賴性 462
15.12  C++的抽象類 464
15.13  C++的保護和私有派生類 468
15.14  擴展Java類 472
15.15  Java方法覆蓋的限制 475
15.16  Java構(gòu)造函數(shù)的順序依賴性 477
15.17  Java的抽象類 478
15.18  Java的接口 481
15.18.1  在Java中實現(xiàn)多個接口 485
15.18.2  在Java中擴展接口 485
15.18.3  接口中的常量 488
15.19  C++個案研究:一個具有適當(dāng)復(fù)雜度的小型類層次體系 489
15.20  Java個案研究:一個具有適當(dāng)復(fù)雜度的小型類層次體系 501
15.21  參考資料和更多閱讀推薦 510
15.22  作業(yè) 510
第16章  C++的多重繼承 515
16.1  MI的一些例子 515
16.2  重復(fù)繼承可能導(dǎo)致的問題 520
16.3  多重繼承的虛基類 522
16.4  虛基類和拷貝構(gòu)造函數(shù) 527
16.5  虛基類和賦值操作符 530
16.6  避免成員函數(shù)的名字沖突 536
16.7  處理數(shù)據(jù)成員的名字沖突 538
16.8  一個重復(fù)繼承例子的實現(xiàn) 540
16.9  使用混合(mixin)類 548
16.10  使用角色扮演類 555
16.11  C++的運行時類型確定 566
16.12  參考資料和更多閱讀推薦 567
16.13  作業(yè) 567
第17章  圖形用戶界面OO編程 572
17.1  工具箱歷史的簡要介紹 573
17.2  AWT/Swing組件 574
17.3  Qt部件 575
17.4  GNOME/GTK+部件 575
17.5  最簡單的AWT/Swing GUI程序 576
17.6  最簡單的Qt GUI程序 579
17.7  最簡單的GNOME/GTK+程序 582
17.8  GUI程序的布局管理器 585
17.9  AWT/Swing的布局管理器 585
17.9.1  Border Layout 586
17.9.2  Flow Layout 588
17.9.3  Box Layout 590
17.9.4  Grid Layout 593
17.9.5  Card Layout 596
17.9.6  Grid-Bag Layout 599
17.10  Qt的布局管理器 602
17.10.1  Box Layout 603
17.10.2  Grid Layout 605
17.11  GNOME/GTK+的布局管理器 608
17.11.1  Box Layout 608
17.11.2  Table Layout 609
17.12  GUI程序的事件處理 612
17.13  AWT/Swing的事件處理 614
17.14  Qt的事件處理 624
17.14.1  一個需要使用元對象編譯的Qt例子 626
17.14.2  信號函數(shù)和slot函數(shù)的全面總結(jié) 634
17.15  GNOME/GTK+的事件處理 634
17.15.1  GNOME/GTK+中事件與其他部件的通信 636
17.15.2  GNOME/Gtk+ 回調(diào)函數(shù)的全面總結(jié) 641
17.16  AWT/Swing中帶菜單的窗口 643
17.17  Qt中帶菜單的窗口 647
17.18  GNOME/GTK+中帶菜單的窗口 653
17.19  在AWT/Swing中繪制形狀、文本和圖像 661
17.20  在Qt中繪制形狀、文本和圖像 673
17.21  在GNOME/GTK+中繪制形狀、文本和圖像 678
17.22  Java Applet 687
17.22.1  Applet的生命周期 688
17.22.2  Applet標(biāo)簽 688
17.22.3  一個Applet例子 690
17.22.4  雙重用途的Applet編程 696
17.22.5  AppletContext接口 699
17.22.6  與Applet相關(guān)的安全問題 703
17.23  參考資料和更多閱讀推薦 704
17.24  作業(yè) 704
第18章  面向?qū)ο蠖嗑€程編程 707
18.1  在Java中創(chuàng)建和運行簡單的線程 708
18.2  Java的Runnable接口 711
18.3  線程的狀態(tài) 712
18.4  Java的線程沖突 713
18.5  Java的線程同步 719
18.6  Java用于處理死鎖的等待-通知機制 722
18.7  Java線程之間的數(shù)據(jù)IO 726
18.8  Java Applet的線程 728
18.9  AWT/Swing的Event Dispatch線程 730
18.10  C/C++的多線程編程 737
18.10.1  用POSlX線程演示線程沖突 742
18.10.2  處理POSIX線程沖突的Mutex 744
18.10.3  POSIX線程:處理死鎖的條件變量和等待-信號機制 746
18.11  C++的面向?qū)ο蠖嗑€程編程 750
18.12  參考資料和更多閱讀推薦 756
18.13  作業(yè) 756
第19章  網(wǎng)絡(luò)編程 758
19.1  在Java中與現(xiàn)有服務(wù)器建立Socket連接 758
19.2  Java的服務(wù)器Socket 761
19.3  在C++中與現(xiàn)有服務(wù)器建立Socket連接 766
19.4  C++(Qt)的服務(wù)器Socket 771
19.5  更多閱讀推薦 778
19.6  作業(yè) 779
第20章  數(shù)據(jù)庫編程 780
20.1  關(guān)系數(shù)據(jù)庫 780
20.2  MySQL數(shù)據(jù)庫管理系統(tǒng) 781
20.3  SQL 783
20.4  JDBC編程:通過Java調(diào)用SQL 790
20.5  Mysql++編程:通過C++調(diào)用SQL 794
20.6  更多閱讀推薦 799
20.7  作業(yè) 799
參考文獻 800

本目錄推薦

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