目 录 3
第1部分绪 论 3
第1章面向对象究竟是什么 3
1.1 封装 7
1.2信息/实现隐藏 10
1.3状态保留 12
1.4对象标识 12
1.5 消息 15
1.6类 21
1.7继承 26
1.8 多态 30
1.9泛型 34
1.10小结 37
1.11 习题 39
第2章面向对象——谁定制了它们 41
2.1面向对象的来源 41
2.2面向对象的社会背景 43
2.3作为工程科目的面向对象 47
2.4面向对象的好处 49
2.5 小结 54
2.6习题 55
第3章类和方法的基本符号 59
3.1 OODN目标 59
第2部分面向对象符号设计 59
3.2类符号 61
3.3修改方法和访问方法 62
3.4类外部接口图表 63
3.5函数式方法 64
3.6重载方法 66
3.7方法的其他符号 67
3.8包 70
3.9类内设计图 71
3.10小结 72
3.11 习题 73
4.1 类继承图 75
第4章继承和聚合图 75
4.2聚合对象及其组件 77
4.3小结 81
4.4 习题 82
第5章对象通信图 83
5.1 同步消息 83
5.2异步消息和并发执行 92
5.3小结 102
5.4习题 102
第6章状态转换图 105
6.1基本状态转换图 105
6.2嵌套状态 107
6.3消息参数 109
6.4连续变量 111
6.6 小结 113
6.5状态定义 113
6.7习题 114
第7章其他OODN图 115
7.1描绘数据库存取 115
7.2描绘系统架构 121
7.3描绘用户界面 124
7.4小结 127
7.5习题 127
第8章封装和同源 131
8.1封装结构 131
第3部分面向对象设计的基本原则 131
8.2同源 134
8.3小结 144
8.4习题 145
第9章域、相关度和内聚 147
9.1类对象的域 147
9.2相关度 152
9.3类内聚:类和它的方法 156
9.4小结 162
9.5习题 163
第10章类和子类的属性 165
10.1类的状态空间和行为 165
10.2子类的状态空间 168
10.3子类的行为 170
10.4作为状态空间限制的类不变式 171
10.5前提条件和后续条件 174
10.6类型一致的原则 176
10.7作为子类型的子类 177
10.8闭合行为的原则 183
10.9小结 185
10.10习题 186
第11章继承和多态的危险性 189
11.1继承的滥用 189
11.2多态的危险性 197
11.3小结 205
11.4习题 206
第12章类接口 209
12.1混合类 209
12.2方法环 213
12.3类接口的质量 217
12.4小结 228
12.5习题 230
附录A面向对象设计过程检查清单 235
附录B面向对象设计者手册 241
附录C面向对象术语快速导航 245
附录D答案 247
术语表 279