图书目录

目录

第1章面向对象技术概述1

1.1面向对象技术的由来1

1.1.1软件危机1

1.1.2软件工程原则2

1.1.3面向对象技术的特征3

1.2程序设计方法的发展4

1.2.1结构化程序设计4

1.2.2逻辑型程序设计和函数式程序设计5

1.2.3抽象数据类型和面向对象程序设计7

1.3程序设计语言的发展8

1.3.1过程型程序设计语言8

1.3.2说明型程序设计语言9

1.3.3面向对象程序设计语言10

1.4面向对象的软件开发方法10

1.4.1面向对象分析11

1.4.2面向对象设计11

1.4.3面向对象软件的测试12

1.5面向对象技术的发展13

1.5.1软件构件技术13

1.5.2UML语言15

1.5.3设计模式16

本章小结18

习题18第2章对象的概念与应用19

2.1对象的概念与封装性19

2.1.1基于对象的抽象方法20

2.1.2C++语言支持的对象描述22

2.1.3对象的封装性262.2实体型对象29

2.2.1实体型对象的分析与设计29

2.2.2应用案例: 有理数30

2.3管理型对象35

2.3.1管理型对象的分析与设计35

2.3.2应用案例: 图书订单36

2.4加工型对象41

2.4.1加工型对象的分析与设计41

2.4.2应用案例: 文本最长行提取43

2.5事务型对象47

2.5.1事务型对象的分析与设计47

2.5.2应用案例: 大奖赛评分管理48

本章小结55

习题56第3章对象关系与复杂对象58

3.1一般与特殊关系59

3.1.1对象之间的继承机制60

3.1.2层次化的继承关系65

3.1.3应用案例: 二维图元对象67

3.2整体与部分关系78

3.2.1整体与部分关系的识别与分类78

3.2.2基于C++语言的整体与部分关系实现79

3.2.3应用案例: 驾驶证管理82

3.3对象关联的设计89

3.3.1对象关联与对象依赖90

3.3.2基于C++语言的对象关联实现91

3.3.3应用案例: 行车路线监视模拟程序94

3.4可复用类库100

3.4.1基本类库与软件复用101

3.4.2MFC类库103

3.4.3应用案例: 学院班级管理系统106

本章小结116

习题117第4章多态性及其应用方法119

4.1多态性的概念与语言支持119

4.1.1多态性和虚函数120

4.1.2C++语言对多态性的支持123

4.1.3抽象数据类型与软件接口126

4.1.4应用案例: 数据库查询接口129

4.2数据容器的多态性132

4.2.1异质链表及应用实例133

4.2.2通用异质容器与C++模板139

4.2.3应用案例: 广义表142

4.3多态性与通用算法151

4.3.1通用算法的程序实现方法151

4.3.2应用案例: 通用的冒泡排序程序152

4.3.3STL数据容器模板与函数模板158

本章小结162

习题163第5章软件系统的设计方法164

5.1软件系统的建模165

5.1.1功能划分和对象设计165

5.1.2交互过程分析和方法设计168

5.1.3应用案例: 网上书店171

5.2软件模块与接口的设计182

5.2.1软件模块的抽象描述182

5.2.2软件功能接口的设计183

5.2.3C++语言描述的接口185

5.2.4应用案例: 机票预订系统188

5.3软件结构的组织与设计198

5.3.1控制逻辑的分解198

5.3.2复杂数据集的处理200

5.3.3应用案例: XML语法分析201

本章小结222

习题222第6章设计模式及其应用224

6.1设计模式概述225

6.1.1设计模式与软件复用225

6.1.2设计模式的描述226

6.2创建型模式228

6.2.1抽象工厂模式228

6.2.2生成器模式230

6.2.3工厂方法模式和原型模式230

6.2.4单件模式233

6.3结构型模式233

6.3.1代理模式和适配器模式233

6.3.2组合模式238

6.3.3外观模式和桥接模式240

6.4行为模式242

6.4.1观察者模式243

6.4.2访问者模式和解释器模式244

6.4.3命令模式和装饰模式248

6.5设计模式的综合应用255

6.5.1图形编辑程序255

6.5.2程序设计语言处理框架277

本章小结293

习题293参考文献295