《面向对象与设计模式》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:耿祥义编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302308232
  • 页数:278 页
图书介绍:本书是面向有一定Java语言基础和一定的编程经验的读者,重点介绍了面向对象的核心内容以及作者在面向对象研究中的一些新思想,全面探讨在Java程序设计中怎样使用一些重要的设计模式。

第1章 面向对象入门 1

1.1编程语言的几个发展阶段 1

1.1.1面向机器语言 1

1.1.2面向过程语言 1

1.1.3面向对象语言 2

1.1.4使用Java的必要性 3

1.2从抽象到类 3

1.3类与程序的基本结构 5

1.4使用的开发工具 6

第2章 封装 7

2.1从类的角度看封装性 7

2.1.1封装数据及操作 7

2.1.2类的UML图 8

2.2从对象的角度看封装性 9

2.2.1创建对象所体现的封装性 9

2.2.2对象访问变量和调用方法所体现的封装性 11

2.2.3实例变量和类变量体现的封装性 12

2.2.4关于实例方法和类方法 13

2.3从使用者角度看封装性 14

2.4有理数的类封装 15

2.4.1 Rational类 15

2.4.2用Rational对象做运算 18

2.5从访问权限看封装性 19

2.5.1访问限制修饰符 19

2.5.2加强封装性 21

2.6包与类的封装 22

2.6.1包封装 22

2.6.2引入类库中的类 24

2.6.3引入自定义包中的类 24

第3章 继承、接口与多态 26

3.1子类与父类 26

3.2子类的继承性 27

3.3关于protected的进一步说明 27

3.4子类对象的特点 28

3.5隐藏继承的成员 29

3.6通过重写实现多态 30

3.7上转型对象体现多态 31

3.8通过final禁止多态 33

3.9通过super解决多态带来的问题 33

3.10接口 34

3.11接口回调体现的多态 36

3.12重载体现的多态 38

第4章 组合 41

4.1引用的重要作用 41

4.2对象的组合 44

4.3组合关系和依赖关系 46

4.4组合关系是弱耦合关系 47

4.5基于组合的流水线 48

4.6汽车动态更换驾驶员 50

第5章 面向对象的几个基本原则 53

5.1抽象类与接口 53

5.1.1抽象类 53

5.1.2接口 54

5.2面向抽象原则 55

5.3“开-闭”原则 57

5.3.1什么是“开-闭”原则 57

5.3.2标准、标准构件和面向标准的产品 58

5.4“多用组合,少用继承”原则 61

5.4.1继承与复用 61

5.4.2组合与复用 62

5.4.3多用组合,少用继承 62

5.5“高内聚-弱耦合”原则 63

第6章 设计模式简介 64

6.1什么是设计模式 64

6.2设计模式的起源 65

6.3 GOF之著作 65

6.4学习设计模式的重要性 65

6.5合理使用模式 66

6.6什么是框架 67

6.7模式分类 68

6.8设计模式资源 69

第7章 策略模式 70

7.1策略模式的结构与使用 70

7.1.1策略模式的结构 70

7.1.2策略模式的使用 74

7.2策略模式的优点 75

7.3适合使用策略模式的情景 75

7.4策略模式相对继承机制的优势 76

7.5举例——加密、解密文件 76

7.5.1设计要求 76

7.5.2设计实现 76

第8章 状态模式 82

8.1状态模式的结构与使用 82

8.1.1状态模式的结构 82

8.1.2状态模式的使用 85

8.2状态切换 86

8.3状态模式的优点 89

8.4适合使用状态模式的情景 89

8.5举例——模拟咖啡自动售货机 89

8.5.1设计要求 89

8.5.2设计实现 90

第9章 命令模式 93

9.1命令模式的结构与使用 93

9.1.1命令模式的结构 93

9.1.2命令模式的使用 97

9.2命令接口中的撤销方法 98

9.3命令模式的优点 101

9.4适合使用命令模式的情景 101

9.5举例——控制电灯 101

9.5.1设计要求 101

9.5.2设计实现 101

第10章 中介者模式 105

10.1中介者模式的结构与使用 105

10.1.1中介者模式的结构 105

10.1.2中介者模式的使用 108

10.2中介者模式的优点 110

10.3适合使用中介者模式的情景 110

10.4举例——组件交互 110

10.4.1设计要求 110

10.4.2设计实现 111

第11章 责任链模式 114

11.1责任链模式的结构与使用 114

11.1.1责任链模式的结构 114

11.1.2责任链模式的使用 118

11.2责任链模式的优点 118

11.3适合使用责任链模式的情景 119

11.4举例——计算阶乘 119

11.4.1设计要求 119

11.4.2设计实现 119

第12章 模板方法模式 123

12.1模板方法模式的结构与使用 123

12.1.1模板方法模式的结构 123

12.1.2模板方法模式的使用 126

12.2钩子方法 127

12.3模板方法模式的优点 130

12.4适合使用模板方法模式的情景 130

12.5举例——考试与成绩录入 130

12.5.1设计要求 130

12.5.2设计实现 131

第13章 观察者模式 135

13.1观察者模式的结构与使用 135

13.1.1观察者模式的结构 135

13.1.2观察者模式的使用 140

13.2观察者模式中的“推”数据与“拉”数据 141

13.3观察者模式的优点 144

13.4适合使用观察者模式的情景 145

13.5举例——关注天气和旅游信息 145

13.5.1设计要求 145

13.5.2设计实现 145

第14章 访问者模式 150

14.1访问者模式的结构与使用 150

14.1.1访问者模式的结构 150

14.1.2访问者模式的使用 153

14.2双重分派 154

14.3访问者模式的优点 154

14.4适合使用访问模式的情景 155

14.5举例——评价体检表 155

14.5.1设计要求 155

14.5.2设计实现 155

第15章 装饰模式 160

15.1装饰模式的结构与使用 160

15.1.1装饰模式的结构 160

15.1.2装饰模式的使用 163

15.2使用多个装饰者 164

15.3装饰模式相对继承机制的优势 165

15.4装饰模式的优点 166

15.5适合使用装饰模式的情景 166

15.6举例——读取单词表 166

15.6.1设计要求 166

15.6.2设计实现 167

第16章 组合模式 171

16.1组合模式的结构与使用 171

16.1.1组合模式的结构 171

16.1.2组合模式的使用 174

16.2组合模式的优点 176

16.3适合使用组合模式的情景 176

16.4举例——苹果树的重量及苹果的价值 176

16.4.1设计要求 176

16.4.2设计实现 177

第17章 适配器模式 180

17.1适配器模式的结构与使用 180

17.1.1适配器模式的结构 180

17.1.2适配器模式的使用 182

17.1.3适配器的适配程度 183

17.2适配器模式的优点 184

17.3适合使用适配器模式的情景 184

17.4单接口适配器 184

17.5举例——Iterator接口与Enumeration接口 185

17.5.1设计要求 185

17.5.2设计实现 185

第18章 外观模式 188

18.1外观模式的结构与使用 188

18.1.1外观模式的结构 188

18.1.2外观模式的使用 190

18.2外观模式的优点 191

18.3适合使用外观模式的情景 191

18.4举例——解析文件 191

18.4.1设计要求 191

18.4.2设计实现 192

第19章 代理模式 195

19.1代理模式的结构与使用 195

19.1.1代理模式的结构 195

19.1.2代理模式的使用 197

19.2远程代理 198

19.2.1 RMI与代理模式 198

19.2.2 RMI的设计细节 199

19.3代理模式的优点 203

19.4适合使用代理模式的情景 203

19.5举例——使用远程窗口阅读文件 203

19.5.1设计要求 203

19.5.2设计实现 203

第20章 享元模式 207

20.1享元模式的结构与使用 207

20.1.1享元模式的结构 207

20.1.2享元模式的使用 212

20.2享元模式的优点 213

20.3适合使用享元模式的情景 213

20.4举例——化合物 213

20.4.1设计要求 213

20.4.2设计实现 214

第21章 桥接模式 218

21.1桥接模式的结构与使用 218

21.1.1桥接模式的结构 218

21.1.2桥接模式的使用 221

21.2桥接模式的优点 222

21.3适合使用桥接模式的情景 222

21.4举例——模拟电视节目 222

21.4.1设计要求 222

21.4.2设计实现 222

第22章 工厂方法模式 226

22.1工厂方法模式的结构与使用 226

22.1.1工厂方法模式的结构 226

22.1.2工厂方法模式的使用 229

22.2工厂方法模式的优点 230

22.3适合使用工厂方法模式的情景 231

22.4举例——药品 231

22.4.1设计要求 231

22.4.2设计实现 231

第23章 抽象工厂模式 235

23.1抽象工厂模式的结构与使用 235

23.1.1抽象工厂模式的结构 235

23.1.2抽象工厂模式的使用 240

23.2工厂方法模式的优点 241

23.3适合使用抽象工厂模式的情景 242

23.4举例——商店与西服、牛仔服 242

23.4.1设计要求 242

23.4.2设计实现 242

23.4.3模式的使用 245

第24章 生成器模式 247

24.1生成器模式的结构与使用 247

24.1.1生成器模式的结构 247

24.1.2生成器模式的使用 250

24.2生成器模式的优点 251

24.3适合使用生成器模式的情景 252

24.4举例——日历牌 252

24.4.1设计要求 252

24.4.2设计实现 252

第25章 原型模式 259

25.1 java.lang.Object类的clone方法 259

25.2 Serializable接口与克隆对象 263

25.3原型模式的结构与使用 263

25.3.1原型模式的结构 263

25.3.2原型模式的使用 265

25.4原型模式的优点 266

25.5适合使用原型模式的情景 266

25.6举例——克隆容器 267

25.6.1设计要求 267

25.6.2设计实现 267

第26章 单件模式 270

26.1单件模式的结构与使用 270

26.1.1单件模式的结构 270

26.1.2单件模式的使用 272

26.2单件模式的优点 273

26.3适合使用单件模式的情景 273

26.4举例——冠军 273

26.4.1设计要求 273

26.4.2设计实现 273

参考文献 278