第一章 引 言 1
1.1 软件 1
1.2 软件开发 5
1.3 程序设计语言 7
1.4 对象式设计 11
1.5 本书的目的与体式 14
第二章 概述 15
2.1 背景和历史 15
2.2 基本概念 21
2.3 典型语言 29
第三章 对象式计算 40
3.1 简述 40
3.2 非形式描述 44
3.3 形式描述的基本思想和构架 48
3.4 通信 51
3.5 对象 55
3.6 对象式系统 60
3.7 对象式计算 64
第四章 对象 69
4.1 简述 69
4.2 对象的创建 73
4.3 对象的活动 77
4.4 对象的消亡 80
4.5 小结 84
第五章 类 85
5.1 概念 85
5.2 种类 90
5.3 组成 95
5.4 类间关系与类空间 104
5.5 延迟类 108
第六章 特征 112
6.1 概述 112
6.2 特征说明 115
6.3 特征调用 118
6.4 属性 123
6.5 程式 126
6.6 延迟特征 131
第七章 继承 134
7.1 继承关系 134
7.2 特征调整 143
7.3 重复继承 158
第八章 允引 173
8.1 允引关系 173
8.2 移出特征 179
8.3 允引和继承 184
第九章 类型 188
9.1 概述 188
9.2 类型定义与使用 192
9.3 类型适应性 198
9.4 类型检查 204
第十章 多态 210
10.1 多态概念与分类 210
10.2 多态的表示与实现 214
10.3 类属和继承 221
第十一章 类库 233
11.1 语言和类库 233
11.2 SMALLTALK的类库 234
11.3 EIFFEL类库 245
11.4 类库的设计原则 254
11.5 数据结构类库的设计 255
第十二章 类的正确性 261
12.1 正确性和语义 261
12.2 断言的表示 263
12.3 断言的其他应用 270
12.4 断言的局限性 271
12.5 断言的语法描述 271
第十三章 接口设计 273
13.1 设计准则 273
13.2 链表 274
13.3 基于状态的类的接口设计 279
13.4 异常处理 298
13.5 类的文档 305
第十四章 对象式软件开发 317
14.1 软件质量 317
14.2 对象式开发 319
14.3 开发模型 321
14.4 语言设施 322
索 引 331
参考文献 339