目 录 1
第一章 面向对象程序设计的基本概念和论点 1
1.1 导论 1
1.2 面向对象程序设计范型 2
1.3 类、对象和封装 4
1.4 子类——继承和多态性 6
1.5 面向对象程序设计中的一些特殊要求 6
习题 8
第二章 从C到C++ 9
2.1 语言及其历史 9
2.2 C++如何小规模地增强C 10
2.3 C++如何大规模地增强C 13
习题 15
第三章 向C++过渡 16
3.1 注解 16
3.2 常量、类型和说明 16
3.3 C++算子 22
3.4 引用传递 25
3.5 指针 26
3.6 常量指明符 33
3.7 枚举类型 34
3.8 匿名联合 35
3.9 显式类型转换 35
3.10 函数 36
3.11 文件及C++系统的物理组织 44
习题 45
4.1 抽象数据类型、封装及数据隐蔽诸概念的发生 48
第四章 用类实施数据封装和数据隐蔽 48
4.2 C++中类的引入 49
4.3 类中自引用 55
4.4 构造子和析构子 57
4.5 类对象作为成员 59
4.6 对象向量 61
4.7 友……………………………………………………………………………………??4.8 类的静态成员…………………………………………………………………………??4.9 算子的重载……………………………………………………4.10 一些基准类 82
习题 100
第五章 继承和派生类 104
5.1 派生类构件 105
5.2 具父类构造子的派生类 108
5.3 派生类的一些例子 111
习题 122
第六章 多态性和虚函数 124
6.1 虚函数 125
6.2 生成链表的面向对象解法 128
6.3 用多态性的异质搜索树 151
6.4 用多态性的有限自动机 157
习题 163
第七章 面向对象程序设计实例学习 164
7.1 “超速”拼法检验器 164
7.2 银行出纳员离散事件模拟 182
7.3 交互式函数求值器 215
习题 255
第八章 面向对象程序设计的设计方法 256
8.1 导论 256
8.2 设计方法导引 256
8.3 概念级的细节描述 258
8.4 系统级的细节描述 261
8.5 规范级的细节描述 263
8.6 总结 265
习题 266
附录Ⅰ 面向对象程序设计语言的现状和发展 267
Ⅰ.1 导论 267
Ⅰ.2 Smalltalk 268
Ⅰ.3 混合范型的OOP语言 270
Ⅰ.4 并发的OOP语言 271
Ⅰ.5 OOP语言的发展 272
附录Ⅱ 用Smalltalk实行面向对象程序设计 274
Ⅱ.1 对象和消息——发送消息给对象 274
Ⅱ.2 抽象——对象和方法 277
Ⅱ.3 封装——把各对象的方法分组成各类 283
Ⅱ.4 继承——类层次结构和子类 285
Ⅱ.5 多态性——把同一消息发送给不同的对象 288
Ⅱ.6 类协议——类、元类、对象、实例及消息 290
Smalltalk映象——各类的初始层次结构 298
Ⅱ.8 用Smalltalk实行程序设计之例 299
Ⅱ.8 用Smalltalk实行程序设计之例 299
习题 302
习题 302
附录Ⅲ 面向对象程序设计范型与自动机理论 304
Ⅲ.2 面向对象范型中的各种概念 304
Ⅲ.1 导论 304
Ⅲ.2 面向对象范型中的各种概念 304
Ⅲ.1 导论 304
附录Ⅲ 面向对象程序设计范型与自动机理论 304
Ⅲ.3 继承 305
Ⅲ.3 继承 305
Ⅲ.5 数据抽象和封装 306
Ⅲ.4 关于继承与子类型化 306
Ⅲ.5 数据抽象和封装 306
Ⅲ.4 关于继承与子类型化 306
Ⅲ.6 模型的例子 307
Ⅲ.6 模型的例子 307
Ⅲ.7 自动机模型 310
Ⅲ.7 自动机模型 310
习题 318
Ⅲ 8 结论 318
Ⅲ.8 结论 318
习题 318
Ⅳ.2 建模 319
Ⅳ.1 导论 319
附录Ⅳ 面向对象程序设计的思维科学基础 319
附录Ⅳ 面向对象程序设计的思维科学基础 319
Ⅳ.1 导论 319
Ⅳ.2 建模 319
Ⅳ.3 抽象思维的过程和阶段 321
Ⅳ.3 抽象思维的过程和阶段 321
Ⅳ.4 抽象思维的方法 322
Ⅳ.4 抽象思维的方法 322
参考读物 324
Ⅳ.5 结束语 324
Ⅳ.5 结束语 324
参考读物 324