目录 1
第一篇 绪论 1
第一章 面向对象技术的形成与发展 1
1.1引言 1
1.2面向对象技术的形成、现状与发展 2
第二章 面向对象的方法学 6
2.1认知方法学 6
2.2.1引言 7
2.2程序设计方法学 7
2.2.2面向对象的语言 10
2.2.3面向对象的程序设计方法 12
2.2.4面向对象的计算机体系结构 13
第三章 面向对象的基本概念与特征 17
3.1对象 17
3.2消息和方法 18
3.3类和类层次 19
3.4继承性 20
3.5封装性 22
3.6多态性 23
3.7动态聚束 24
3.8小结 25
第二篇 面向对象分析 28
第四章 分析方法的改进 28
4.1分析工作所面临的问题 28
4.2处理复杂问题的原则 29
4.3分析方法 30
4.3.1功能分解法 30
4.3.3信息模拟法 31
4.3.2数据流法 31
4.3.4面向对象法 32
4.4小结 33
第五章 面向对象分析 34
5.1确定类-&-对象 34
5.1.1什么是类、对象 34
5.1.2为什么要识别对象 34
5.1.3如何定义对象 35
5.2.2为什么要定义结构 38
5.2.3如何定义结构 38
5.2识别结构 38
5.2.1什么是结构 38
5.3识别主题 46
5.3.1什么是主题 47
5.3.2为什么要识别主题 47
5.3.3如何定义主题 47
5.4.2为什么要定义属性 49
5.4.3如何定义属性 49
5.4.1属性 49
5.4定义属性 49
5.5定义方法 54
5.5.1什么是方法 54
5.5.2为什么要定义方法 55
5.5.3如何定义方法 55
5.5.4指定方法 61
5.5.5准备完整的面向对象分析文本集 62
5.6为面向对象分析选择CASE 62
5.6.1面向对象分析需要什么 62
5.6.2现有的CASE工具 64
6.2多层次、多组成部分模型 65
6.1OOA与OOD的比较 65
第六章 从面向对象分析到面向对象设计 65
6.3表示法的连续性 66
6.3.1连续性 66
6.3.2非连续性 66
6.3.3程序设计语言的影响 66
第三篇 面向对象设计 68
第七章 面向对象的概念模型 68
7.1对象 68
7.1.1例子 68
7.1.2对象特征 70
7.1.3公式 71
7.2继承与聚集 72
7.2.1继承 72
7.2.2描述态射 74
7.2.3聚集 75
7.3类 79
7.4小结 83
第八章 面向对象设计 85
8.1基本设计方法 85
8.1.1面向对象设计范式与过程设计范式 85
8.1.2两种范式的比较实例 86
8.1.4完整的数据模型 88
8.1.3实体与实体间的关系 88
8.1.5支持良好的设计风格 89
8.1.6支持重用 93
8.1.7类的设计准则 94
8.2软件设计与开发环境 95
8.2.1概念工具 95
8.2.2访问的层次 96
8.2.3现有的工具 96
8.3.1几个特殊的问题 97
8.2.4将来的工具 97
8.3面向对象设计的实现 97
8.3.2封装性 101
8.4小结 101
第九章 面向对象的软件重用工具 102
9.1概述 102
9.1.1软件库 102
9.1.2面向对象的程序设计 102
9.1.3ORT(面向对象的重用工具) 103
9.2.1可重用性 104
9.2软件重用 104
9.2.2重用的层次与可重用软件 105
9.2.3ORT实现软件成分的重用 106
9.2.4检索软件成分 107
9.2.5评估类的可重用性 107
9.3可重用类 107
9.3.1类描述的定义 107
9.3.2类描述的内容 109
9.3.3类描述的例子 112
9.4.1查询 118
9.4ORT的原型 118
9.4.2浏览 119
9.4.3库维护工具 121
9.5ORT的实现 121
9.5.1数据库定义 121
9.5.2数据库接口类 122
9.5.3工具 123
9.6进一步的开发与研究 124
第四篇 面向对象语言 125
第十章 面向对象语言谱系 125
10.1面向对象语言的形成 125
10.2对象、类与继承性 126
10.3对象的语义 127
10.4继承的性质 128
10.5基于类与面向对象 129
10.6数据抽象与强类型化 130
10.7语言分类 132
10.8基于对象的并发性 132
10.9分布式进程 134
10.10面向对象的持续性 135
10.11小结 136
11.2基本特征 137
11.2.1五个概念 137
11.1引言 137
第十一章 Smalltalk语言 137
11.2.2抽象 138
11.2.3封装 138
11.2.4继承 139
11.2.5多态性 140
11.2.6类协议 140
11.3对象 140
11.3.1变量 140
11.3.4共享变量 141
11.3.2实例变量 141
11.3.3暂时变量 141
11.4类 142
11.4.1类层次 142
11.4.2继承 145
11.4.3类消息 145
11.4.4声明一个新类 145
11.5消息和方法 146
11.5.1变量名和文字句法 147
11.5.2表达式句法 149
11.5.4方法句法 150
11.5.3代码块 150
11.5.5控制结构 151
11.6继承性与多态性 152
11.6.1类层次 152
11.6.2继承性 152
11.6.3实例变量的继承 153
11.6.4动物类的方法 153
11.6.5方法的继承 154
11.6.8多态性 155
11.6.7创建动物对象 155
11.6.6特殊变量“supper” 155
第十二章 C++语言 157
12.1引言 157
12.2类 158
12.3运算符重载 159
12.4引用 160
12.5构造函数 161
12.6向量 162
12.7内联扩展 163
12.8派生类 164
12.9其他有关的运算符 165
12.10友元 166
12.11多态向量 167
12.12虚函数 169
12.13C++面向对象程序设计 169
12.13.1对象与类 170
12.13.2方法和消息 171
12.13.3继承性 172
12.13.4多态性 173
12.13.5动态聚束 173
12.13.6多重继承性 174
12.14小结 176
第十三章 Eiffel语言 177
13.1引言 177
13.2对象 177
13.2.1记录 178
13.2.2引用 178
13.2.3执行模型 179
13.3类 180
13.3.1类的属性 180
13.2.4动态创建 180
13.3.2类型与引用 181
13.3.3顾客与顾主 182
13.3.4创建对象 182
13.3.5断开引用与对象间的关系 183
13.4例程 184
13.4.1例程的定义 184
13.4.2使用举例 184
13.4.3实现举例 185
13.4.4非缺省值的Create 186
13.5.1继承性的定义 187
13.5继承性 187
13.5.3重名 188
13.5.4重复继承性 188
13.5.2继承性与可重用性 188
13.5.5特性重定义 190
13.5.6推迟特性 190
13.6系统程序设计特性 191
13.6.1断言 191
13.6.2前置条件和后置条件 191
13.6.4循环表示法 192
13.6.3类不变式 192
13.6.5断言与继承性 193
13.6.6断言的应用 193
13.7从类到系统 193
13.8小结 194
第五篇 面向对象应用 195
第十四章 数据库 195
14.1引言 195
14.2面向对象数据库的兴起 195
14.3.1面向对象数据库的特点 197
14.3面向对象的数据库 197
14.3.2面向对象数据库的数据模型 198
14.3.3面向对象数据库的核心概念 199
14.3.4面向对象数据库的接口 202
14.3.5面向对象数据库的标准化 203
14.4面向对象数据库的比较研究 204
14.5面向对象数据库的主要研究内容 206
14.5.1数据模型的研究 206
14.5.2与程序设计语言集成的研究 206
14.5.3体系结构的研究 207
14.6面向对象数据库的研究方向 212
第十五章 用户界面 215
15.1引言 215
15.2面向对象用户界面的好处 216
15.3面向对象用户界面的功能 218
15.3.1Windows 219
15.3.2X窗口系统 222
15.3.3NeXTStep的界面构造器 225
15.3.4Macintosh 226
15.3.5SunView 228
15.4.1Smalltalk 230
15.4面向对象用户界面开发工具 230
15.4.2NewWave 231
15.4.3Caseworks 232
15.4.4CommonView 233
15.4.5NeWS 234
15.5小结 235
第十六章 知识工程 236
16.1人工智能中的面向对象技术 236
16.2基于规则的系统 236
16.2.1推理机的概念模型 238
16.2.2推理机的设计 239
16.3Erasmus:面向对象的黑板系统 241
16.3.1Erasmus系统的设计 241
16.3.2Erasmus系统的实现 243
16.4X—I:面向对象的综合型专家系统开发工具 243
16.4.1总体结构 243
16.4.2对象 244
16.4.3方法 245
16.4.4控制与消息传递 246
16.4.5推理跟踪 248
16.5分布式基于知识的系统 249
16.4.6问题的分类 249
16.5.1分布式基于知识的系统的结构 250
16.5.2一个用于规划研究项目的DKBS 252
16.6小结 256
第十七章 多介质系统 257
17.1引言 257
17.2几个典型的多介质系统概况 258
17.2.1HyperCard 258
17.2.2KMS 258
17.3.1概念 259
17.3Intermedia:面向对象的超级介质系统 259
17.2.3NoteCard 259
17.3.2构造 262
17.4Harmony:超级对象系统 267
17.4.1基本概念 268
17.4.2设计目标 268
17.4.3Harmony中超级对象的表示方法 269
17.4.4软件结构 271
17.4.5系统的配置及实现 273
17.5结束语 273
18.1引言 275
第十八章 智能化决策支持系统环境 275
18.2.1基本知识模型的概念 276
18.2基本知识模型 276
18.2.2类的多维层次网络及它的实例化 277
18.2.3基本知识模型的实现 278
18.3知识表达范式的概念 280
18.3.1知识 280
18.3.2知识表达范式 280
18.3.3知识库 281
18.3.4知识处理器 282
18.3.6几种知识表达范式的定义 283
18.3.5知识元素、知识库与知识处理器的关系 283
18.4多种知识表达范式的集成 286
18.4.1环境集成 286
18.4.2元级系统集成 287
18.5智能化决策支持系统环境总体概况 288
18.6智能化决策支持系统运行/开发模块的总体结构 290
18.6.1问题库与问题库管理系统 291
18.6.2问题配置器与问题的配置部分 291
18.7基于模型的表达范式 292
18.6.4集成了多种知识表达范式的问题 292
18.6.3知识表达范式中的库及其管理系统 292
18.7.1基于模型范式的概念框架 293
18.7.2基于模型范式 293
18.7.3模型库 294
18.7.4模型处理器 294
18.7.5模型 294
18.8敏感式知识获取工具(SKAT) 297
18.8.1引言 297
18.8.2SKAT的基本思想及主要特征 297
18.8.3SKAT的面向对象的设计 298
18.8.4SKAT的逻辑结构与数据结构 299
18.9图形编辑器(BISE—GED) 301
18.9.1引言 301
18.9.2BISE—GED的主要特征 303
18.9.3用户界面 304
18.9.4图形数据结构 305
18.9.5三维图形的动画 306
18.10结束语 308
附录 推荐参考书目 309