图书介绍
面向对象编程C++和Java比较教程 中文版【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

- (美)Avinash C. Kak著;徐波译 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115122776
- 出版时间:2004
- 标注页数:801页
- 文件大小:53MB
- 文件页数:817页
- 主题词:JAVA语言-程序设计-高等学校-教材;C语言-程序设计-高等学校-教材
PDF下载
下载说明
面向对象编程C++和Java比较教程 中文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 大处着眼——OO编程的一些共性1
1.1 什么是面向对象编程1
1.2 OO有什么优点1
1.3 如何精通OO2
第2章 初窥门径3
2.1 简单程序:对一个整型数组求和3
2.2 简单程序:终端I/O8
2.3 简单程序:文件I/O12
2.4 更多阅读推荐16
2.5 作业16
第3章 类及其他一些关键的概念18
3.1 在C++中定义类20
3.2 在Java中定义类23
3.3 创建对象:C++和Java的异同25
3.4 在C++中定义子类26
3.5 在Java中定义子类29
3.6 阻断继承32
3.7 创建对象的打印表示形式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不带限定名称的函数名查找46
3.11 类成员的访问控制47
3.12 抽象类和接口49
3.13 对象的比较51
3.14 类的静态成员54
3.15 模板类55
3.16 嵌套类型56
3.16.1 C++的嵌套类56
3.16.2 Java的嵌套类60
3.17 在C程序中实现OO行为64
3.18 更多阅读推荐70
3.19 作业70
第4章 字符串73
4.1 C的字符串:简单回顾73
4.2 C风格字符串的一些弱点75
4.3 C++的字符串76
4.3.1 创建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 其他字符串函数87
4.4 Java的字符串88
4.4.1 创建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 作业97
第5章 使用容器类100
5.1 C++的容器类101
5.1.1 Vector103
5.1.2 Deque114
5.1.3 List116
5.1.4 Stack118
5.1.5 Queue119
5.1.6 Priority_Queue120
5.1.7 Map121
5.1.8 Set123
5.1.9 泛型算法124
5.2 Java的容器124
5.2.1 List126
5.2.2 Set129
5.2.3 Map130
5.2.4 Vector133
5.2.5 Java容器的算法135
5.3 参考资料和更多阅读推荐137
5.4 作业138
第6章 基本类型及其输入/输出144
6.1 标记、标识符和变量名144
6.2 C++和Java的基本类型145
6.3 布尔类型145
6.4 字符类型146
6.5 整数类型150
6.6 浮点类型151
6.7 基本类型的类型转换152
6.7.1 C++的隐式类型转换152
6.7.2 Java的隐性类型转换155
6.7.3 C++的显式类型转换158
6.7.4 Java的显式类型转换159
6.8 C++的I/O流161
6.8.1 C++的流层次体系161
6.8.2 字符流的输入输出操作162
6.8.3 字节流的输入输出操作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 作业186
第7章 声明、定义和初始化191
7.1 什么时候声明同时也是定义191
7.2 C++的变量在定义时是否同时进行了缺省初始化193
7.2.1 如果不提供无参构造函数会出现什么情况195
7.2.2 const和引用成员的特殊情况197
7.3 在Java中变量在定义时会不会进行缺省的初始化198
7.3.1 缺省初始化是否受类成员的缺省值影响200
7.3.2 如果构造函数为一个类成员指定了一个值,那么它的缺省值是否忽略200
7.4 在C++中声明指针类型201
7.5 C++的指针数组203
7.6 声明多个名字204
7.7 C++标识符的作用域205
7.8 Java标识符的作用域206
7.9 C++的数组及其初始化207
7.10 Java的数组及其初始化210
7.10.1 Java数组是个对象212
7.10.2 实现排序、查找等功能的java.lang.Arrays类213
7.11 符号常量214
7.12 C++的宏215
7.13 C++的枚举类型216
7.14 参考资料和更多阅读推荐219
7.15 作业219
第8章 对象引用和内存分配222
8.1 C++的对象引用222
8.2 Java的对象引用224
8.3 C++的内存分配224
8.4 Java的内存分配225
8.5 C++的结构226
8.6 作业228
第9章 函数和方法232
9.1 函数声明232
9.2 C++的参数传递232
9.2.1 按照传值方式传递一个基本类型的参数233
9.2.2 按照传指针模式传递一个基本类型的参数233
9.2.3 按照传引用模式传递一个基本类型的参数234
9.2.4 按照传值模式传递一个类类型的参数235
9.2.5 按照传指针模式传递一个类类型的参数236
9.2.6 按照传引用模式传递一个类类型的参数237
9.3 Java的参数传递238
9.3.1 按照传值模式传递一个基本类型的参数238
9.3.2 按照传递对象引用模式传递一个类类型的参数238
9.4 返回引用类型的C++函数241
9.5 C++的内联函数243
9.6 C++的静态变量244
9.7 C++函数的const参数和const返回类型245
9.8 Java方法的final形参247
9.9 数组参数247
9.10 C++的函数重载解析248
9.11 Java的函数重载解析251
9.12 C++函数的缺省参数252
9.13 C++的函数指针253
9.14 更多阅读推荐255
9.15 作业255
第10章 异常处理260
10.1 C用于多层返回的setjmp/longjmp机制260
10.2 C++的异常处理263
10.3 C++异常处理的一些用法模式264
10.4 C++和Java的异常处理的区别270
10.5 Java的异常处理语法271
10.6 Java异常处理的一些用法模式272
10.7 Java的checked和unchecked异常277
10.8 更多阅读推荐278
10.9 作业278
第11章 类:剩余的故事281
11.1 构造函数的访问控制281
11.1.1 限制对象数量281
11.1.2 限制对C++无参构造函数的访问283
11.2 多个构造函数可否互相调用285
11.3 C++的静态成员285
11.4 Java的静态成员291
11.5 C++的const成员函数295
11.6 C++的自身引用295
11.7 Java的自身引用298
11.8 C++的析构函数299
11.9 Java的对象销毁303
11.10 C++的拷贝构造函数和拷贝赋值操作符306
11.11 Java的赋值操作符的语义310
11.12 Java的对象克隆311
11.13 C++的指向类成员的指针316
11.14 交叉类(Interleaved Class)318
11.15 C++研究:一个具有适度复杂性的交叉类319
11.16 Java研究:一个具有适度复杂性的交叉类329
11.17 更多阅读推荐335
11.18 作业335
第12章 C++的操作符重载343
12.1 操作符标记和操作符函数343
12.2 操作符的全局重载定义344
12.3 操作符的成员函数重载定义345
12.4 单目操作符的全局重载定义347
12.5 单目操作符的成员函数重载定义348
12.6 操作符重载的案例研究349
12.7 灵巧指针(smart pointer):解引用操作符的重载360
12.8 自增和自减操作符的重载367
12.9 用户定义的转换371
12.10 “()”操作符的重载374
12.11 通过“<”操作符的重载对类类型的对象进行排序376
12.12 参考资料和更多阅读推荐379
12.13 作业379
第13章 泛型和模板381
13.1 C++的参数化类和函数383
13.1.1 一个C++链表程序的实现383
13.1.2 一个参数化的链表程序386
13.1.3 模板特化391
13.1.4 模板声明的通用语法393
13.2 重温迭代器395
13.2.1 泛型算法的迭代器类型395
13.2.2 如何声明迭代器396
13.3 Java的参数化类397
13.3.1 在Java中创建自己的参数化类型399
13.3.2 方法的参数化403
13.3.3 限制参数405
13.4 参考资料和更多阅读推荐408
13.5 作业408
第14章 OO编程的模型图410
14.1 用例图410
14.2 类图412
14.2.1 类之间的关联关系413
14.2.2 类之间的聚合和合成关系414
14.2.3 表示属性415
14.2.4 表示操作415
14.2.5 类别模板(stereotype)416
14.3 交互图416
14.3.1 顺序图417
14.3.2 协作图421
14.4 包图421
14.5 状态图423
14.6 活动图427
14.7 参考资料和更多阅读推荐429
14.8 作业429
第15章 类的扩展431
15.1 C++子类的公共派生431
15.2 C++派生类的构造函数434
15.3 C++派生类的拷贝构造函数436
15.4 C++派生类的拷贝赋值操作符438
15.5 C++派生类的操作符重载440
15.6 C++派生类的析构函数443
15.7 C++的虚拟成员函数448
15.7.1 虚拟函数声明的限制452
15.7.2 多层类层次体系中的虚拟函数452
15.7.3 操作符能否具有多态行为454
15.7.4 多态类型454
15.8 C++函数的静态绑定和动态绑定455
15.9 C++函数覆盖的限制458
15.10 C++的虚拟析构函数461
15.11 C++构造函数的顺序依赖性462
15.12 C++的抽象类464
15.13 C++的保护和私有派生类468
15.14 扩展Java类472
15.15 Java方法覆盖的限制475
15.16 Java构造函数的顺序依赖性477
15.17 Java的抽象类478
15.18 Java的接口481
15.18.1 在Java中实现多个接口485
15.18.2 在Java中扩展接口485
15.18.3 接口中的常量488
15.19 C++个案研究:一个具有适当复杂度的小型类层次体系489
15.20 Java个案研究:一个具有适当复杂度的小型类层次体系501
15.21 参考资料和更多阅读推荐510
15.22 作业510
第16章 C++的多重继承515
16.1 MI的一些例子515
16.2 重复继承可能导致的问题520
16.3 多重继承的虚基类522
16.4 虚基类和拷贝构造函数527
16.5 虚基类和赋值操作符530
16.6 避免成员函数的名字冲突536
16.7 处理数据成员的名字冲突538
16.8 一个重复继承例子的实现540
16.9 使用混合(mixin)类548
16.10 使用角色扮演类555
16.11 C++的运行时类型确定566
16.12 参考资料和更多阅读推荐567
16.13 作业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 Layout586
17.9.2 Flow Layout588
17.9.3 Box Layout590
17.9.4 Grid Layout593
17.9.5 Card Layout596
17.9.6 Grid-Bag Layout599
17.10 Qt的布局管理器602
17.10.1 Box Layout603
17.10.2 Grid Layout605
17.11 GNOME/GTK+的布局管理器608
17.11.1 Box Layout608
17.11.2 Table Layout609
17.12 GUI程序的事件处理612
17.13 AWT/Swing的事件处理614
17.14 Qt的事件处理624
17.14.1 一个需要使用元对象编译的Qt例子627
17.14.2 信号函数和slot函数的全面总结634
17.15 GNOME/GTK+的事件处理634
17.15.1 GNOME/GTK+中事件与其他部件的通信636
17.15.2 GNOME/GTK+回调函数的全面总结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 Applet687
17.22.1 Applet的生命周期688
17.22.2 Applet标签688
17.22.3 一个Applet例子690
17.22.4 双重用途的Applet编程696
17.22.5 AppletContext接口699
17.22.6 与Applet相关的安全问题703
17.23 参考资料和更多阅读推荐704
17.24 作业704
第18章 面向对象多线程编程707
18.1 在Java中创建和运行简单的线程708
18.2 Java的Runnable接口711
18.3 线程的状态712
18.4 Java的线程冲突713
18.5 Java的线程同步719
18.6 Java用于处理死锁的等待-通知机制722
18.7 Java线程之间的数据IO726
18.8 Java Applet的线程728
18.9 AWT/Swing的Event Dispatch线程730
18.10 C/C++的多线程编程737
18.10.1 用POSIX线程演示线程冲突742
18.10.2 处理POSIX线程冲突的Mutex744
18.10.3 POSIX线程:处理死锁的条件变量和等待-信号机制746
18.11 C++的面向对象多线程编程750
18.12 参考资料和更多阅读推荐756
18.13 作业756
第19章 网络编程758
19.1 在Java中与现有服务器建立Socket连接758
19.2 Java的服务器Socket761
19.3 在C++中与现有服务器建立Socket连接766
19.4 C++(Qt)的服务器Socket771
19.5 更多阅读推荐778
19.6 作业779
第20章 数据库编程780
20.1 关系数据库780
20.2 MySQL数据库管理系统781
20.3 SQL783
20.4 JDBC编程:通过Java调用SQL790
20.5 Mysql++编程:通过C++调用SQL794
20.6 更多阅读推荐799
20.7 作业799
参考文献800
热门推荐
- 518835.html
- 1358998.html
- 3233095.html
- 382616.html
- 1757154.html
- 1358828.html
- 3789741.html
- 2683650.html
- 3095546.html
- 1128831.html
- http://www.ickdjs.cc/book_1175475.html
- http://www.ickdjs.cc/book_3712856.html
- http://www.ickdjs.cc/book_3054884.html
- http://www.ickdjs.cc/book_3294392.html
- http://www.ickdjs.cc/book_1632200.html
- http://www.ickdjs.cc/book_1486042.html
- http://www.ickdjs.cc/book_3844548.html
- http://www.ickdjs.cc/book_1992702.html
- http://www.ickdjs.cc/book_2973086.html
- http://www.ickdjs.cc/book_2808248.html