《面向对象分析设计与编程 OOA/OOD/OOP》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:吴炜煜编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2000
  • ISBN:7302010110
  • 页数:261 页
图书介绍:面向对象技术的理论和应用方法,本质上是一种自然地表示客观世界的思维方法,是超越问题论域的复杂性障碍,实现可计算性的软件设计方法.学习面向对象分析,设计和编程(OOA/OOD/OOP),不仅能够掌握计算机软件设计的一个重要的方法,而且可以帮助养成良好的研究解决实际问题的工作方法和作风.因此,在清华大学课程设置改革中,我们把原来对研究生开设的该课程,在教学内容和方法上结合本科学生情况进行调整,在大学本科三年级开设"面向对象分析设计与编程"课,为学生参加社会实践和毕业设计作准备.经过教学实践,学生普遍反映这门课程十分解渴,对于能力培养大有神益.本教材是根据我们的课堂教学讲义编写的,在内容上,既教授面向对象分析的基本方法,又讲述面向对象的设计和编程实现,形成逻辑合理的一体化系统.在课程实习作业中,我们只提出必须达到的规范要求,而让学生自由选择C++或Java作为工具.学习本课程不要求先学C语言,而是让学生直接以面向对象分析和设计为起点,能够较快地掌握新的程序设计方法.

第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 封装性、继承性和多态性 6

1.2.3 常用术语简释和定义 8

1.2.4 概念内涵的区别 9

1.3 面向对象的分析方法 9

1.3.1 OOA方法评介 9

1.3.2 OOA步骤 10

1.3.3 OOA模型 11

1.3.4 OOA视图 11

1.3.5 OOA提交 11

1.4 面向对象设计初步 13

1.4.1 OOD模型 14

1.4.2 什么是优良的OOD 15

1.4.3 对象标识设计 15

1.4.4 复杂对象的构造设计 16

1.4.5 一个GIS的OOD模型实例 16

1.5 教学工作建议与探讨 18

1.6 习题 18

第2章 C++基本知识速成 20

2.1 C++语言概述 20

2.1.1 C++的面向对象特征 20

2.1.2 C++语言对 C语言在非面向对象方面的增9 23

2.2 C++程序构架及词法符号约定 27

2.2.1 C++程序示例 27

2.2.2 C++程序的一段结构 29

2.2.3 C++的词法符号约定 34

2.3 C++的数据类型 38

2.3.1 C++的数据类型及类型修饰 38

2.3.2 常量 45

2.3.3 变量 48

2.4 C++的运算符和表达式 51

2.4.1 C++中的基本运算符 51

2.4.2 C++表达式 59

2.5 C++的语句及程序流程控制 60

2.5.1 if条件分支语句 60

2.5.2 switch开关分支语句 62

2.5.3 循环控制语句 64

2.5.4 跳转控制语句 66

2.6 输入输出流简介 69

2.6.1 无格式输入输出 69

2.6.2 指定格式输入输出 69

2.7 习题 72

第3章 聚合数据类型与操作 75

3.1 数组类型与简单线性表处理 75

3.1.1 线性表结构的 C++处理方法 75

3.1.2 数组的定义与使用 77

3.1.3 多维数组 78

3.1.4 字符数组. 80

3.2 指针类型与地址算法 80

3.2.1 指针的概念与定义 80

3.2.2 指针变量的运算规则 82

3.2.3 指针与数组的关系 84

3.2.4 指针与字符串 85

3.2.5 指针数组 86

3.2.6 多级指针 87

3.2.7 void型和const型指针 87

3.3 函数类型与应用方法 88

3.3.1 函数的定义与调用 88

3.3.2 函数类型与参数传递 89

3.3.3 内联型函数 93

3.3.4 递归调用 94

3.3.5 函数重载调用 94

3.3.6 函数指针 96

3.4 结构类型及链表处理 99

3.4.1 结构变量定义及使用 99

3.4.2 结构数组 101

3.4.3 结构指针 101

3.4.4 结构的嵌套与递归 102

3.4.5 链表类数据处理 103

3.4.6 联合 105

3.4.7 位域 106

3.4.8 枚举类型 107

3.5 习题 108

第4章 类与对象的构造设计 110

4.1 类的构造和创建 110

4.1.1 类设计的基本概念 111

4.1.2 类的说明与对象定义 111

4.1.3 成员函数的功能与定义方式 113

4.1.4 对类成员的访问 114

4.2 构造函数和析构函数 114

4.2.1 构造函数的特性 115

4.2.2 构造函数的设计和使用 116

4.2.3 折构函数的特性和用法 120

4.3 类构造的存储设计 121

4.3.1 类的静态成员 121

4.3.2 对象的动态存储分配 122

4.4 类中类用法 123

4.4.1 类对象作为成员 123

4.4.2 类的自引用 124

4.4.3 类属类(generic class) 125

4.5 类与对象的进一步用法 126

4.5.1 类对象指针 126

4.5.2 对象数组 127

4.5.3 友元函数 128

4.5.4 对象作函数参数 129

4.6 类与结构、联合的关系 131

4.6.1 结构与类 131

4.6.2 联合与类 132

4.7 类设计应用实例解析 133

4.8 习题 136

第5章 继承性和派生类 137

5.1 类层次、数据抽象和模块化 137

5.1.1 类的层次 137

5.1.2 软件设计模块化 138

5.1.3 继承性的含义 139

5.2 基类和派生类 140

5.2.1 基类与派生类的说明 141

5.2.2 派生类的继承权与访问域 143

5.2.3 派生类的构造函数和折构函数 146

5.3 多重继承的设计 148

5.3.1 多层继承方法 148

5.3.2 直接继承多个基类的方法 149

5.3.3 多继承的构造函数与析构函数 150

5.3.4 继承成员二义性与虚基类方法 150

5.4 继承性应用实例分析 154

5.5 习题 158

第6章 多态性与虚函数 161

6.1 重载与程序俩多态性设计 162

6.1.1 函数重载 162

6.1.2 运算符重载 163

6.1.3 各种运算符重载设计的问题讨论 165

6.1.4 编译时的多态 169

6.1.5 运行时的多态 171

6.2 虚函数方法与多态机制 172

6.2.1 虚函数的应用特性 172

6.2.2 虚函数与构造函数、析构函数 179

6.2.3 多继承中的虚函数用法 180

6.2.4 虚函数的多态性应用实例分析 181

6.3 纯虚函数与同一协议的多版本 184

6.3.1 纯虚函数的定义和性质 184

6.3.2 抽象类的用法*185+++6.3.3 纯虚函数的应用例析 186

6.4 利用类库中虚函数进行多态程序设计 189

6.5 习题 189

第7章 面向对象的系统分析和设计 191

7.1 面向对象系统分析和系统设计 191

7.2 系统分析方法 194

7.2.1 OOA过程模型 194

7.2.2 研究问题论域及用户需求 195

7.2.3 对象识别的客观性方法 196

7.2.4 识别对象的内部特征 200

7.2.5 识别对象的外部特征 202

7.2.6 信息建模的规范化过程 205

7.3 系统设计阶段和步骤 207

7.3.1 系统划分 207

7.3.2 设计阶段 208

7.3.3 设计步骤 209

7.4 评审和修正 OOA模型 210

7.4.1 分析模型的一致性和完整性 210

7.4.2 OOA模型的评审策略 212

7.4.3 从OOA到 OOD的过渡 213

7.5 系统文档编制和实现、测试 214

7.5.1 编制设计文档 214

7.5.2 系统实现 215

7.5.3 系统测试 216

7.6 习题 217

第8章 面向对象编程环境 218

8.1 开发环境的重要性 218

8.2 开发环境总览 218

8.2.1 Borland C++、Turbo C++等集成环境组成概况 219

8.2.2 集成开发环境功能特色简述 220

8.3 Microsoft Visual C++使用方法简介 223

8.3.1 系统安装 224

8.3.2 使用集成开发环境的基本技术 231

8.4 新应用的创建 239

8.4.1 应用程序框架的建立 239

8.4.2 编译和链接 244

8.4.3 调试 245

8.5 将基本应用框架进一步开发为自己的应用程序 248

8.5.1 生成新的类、添加代码与插入文件 249

8.5.2 创建及编辑、插入资源 255

8.6 善于使用系统帮助 258

8.7 习题 259

附录 面向对象分析设计和编程的实习作业 260

参考文献 261