内容简介
第1章 面向对象入门
1.1编程语言的几个发展阶段
1.1.1面向机器语言
1.1.2面向过程语言
1.1.3面向对象语言
1.1.4使用Java的必要性
1.2从抽象到类
1.3类与程序的基本结构
1.4使用的开发工具
第2章 封装
2.1从类的角度看封装性
2.1.1封装数据及操作
2.1.2类的UML图
2.2从对象的角度看封装性
2.2.1创建对象所体现的封装性
2.2.2对象访问变量和调用方法所体现的封装性
2.2.3实例变量和类变量体现的封装性
2.2.4关于实例方法和类方法
2.3从使用者角度看封装性
2.4有理数的类封装
2.4.1 Rational类
2.4.2用Rational对象做运算
2.5从访问权限看封装性
2.5.1访问限制修饰符
2.5.2加强封装性
2.6包与类的封装
2.6.1包封装
2.6.2引入类库中的类
2.6.3引入自定义包中的类
第3章 继承、接口与多态
3.1子类与父类
3.2子类的继承性
3.3关于protected的进一步说明
3.4子类对象的特点
3.5隐藏继承的成员
3.6通过重写实现多态
3.7上转型对象体现多态
3.8通过final禁止多态
3.9通过super解决多态带来的问题
3.10接口
3.11接口回调体现的多态
3.12重载体现的多态
第4章 组合
4.1引用的重要作用
4.2对象的组合
4.3组合关系和依赖关系
4.4组合关系是弱耦合关系
4.5基于组合的流水线
4.6汽车动态更换驾驶员
第5章 面向对象的几个基本原则
5.1抽象类与接口
5.1.1抽象类
5.1.2接口
5.2面向抽象原则
5.3“开-闭”原则
5.3.1什么是“开-闭”原则
5.3.2标准、标准构件和面向标准的产品
5.4“多用组合,少用继承”原则
5.4.1继承与复用
5.4.2组合与复用
5.4.3多用组合,少用继承
5.5“高内聚-弱耦合”原则
第6章 设计模式简介
6.1什么是设计模式
6.2设计模式的起源
6.3 GOF之著作
6.4学习设计模式的重要性
6.5合理使用模式
6.6什么是框架
6.7模式分类
6.8设计模式资源
第7章 策略模式
7.1策略模式的结构与使用
7.1.1策略模式的结构
7.1.2策略模式的使用
7.2策略模式的优点
7.3适合使用策略模式的情景
7.4策略模式相对继承机制的优势
7.5举例——加密、解密文件
7.5.1设计要求
7.5.2设计实现
第8章 状态模式
8.1状态模式的结构与使用
8.1.1状态模式的结构
8.1.2状态模式的使用
8.2状态切换
8.3状态模式的优点
8.4适合使用状态模式的情景
8.5举例——模拟咖啡自动售货机
8.5.1设计要求
8.5.2设计实现
第9章 命令模式
9.1命令模式的结构与使用
9.1.1命令模式的结构
9.1.2命令模式的使用
9.2命令接口中的撤销方法
9.3命令模式的优点
9.4适合使用命令模式的情景
9.5举例——控制电灯
9.5.1设计要求
9.5.2设计实现
第10章 中介者模式
10.1中介者模式的结构与使用
10.1.1中介者模式的结构
10.1.2中介者模式的使用
10.2中介者模式的优点
10.3适合使用中介者模式的情景
10.4举例——组件交互
10.4.1设计要求
10.4.2设计实现
第11章 责任链模式
11.1责任链模式的结构与使用
11.1.1责任链模式的结构
11.1.2责任链模式的使用
11.2责任链模式的优点
11.3适合使用责任链模式的情景
11.4举例——计算阶乘
11.4.1设计要求
11.4.2设计实现
第12章 模板方法模式
12.1模板方法模式的结构与使用
12.1.1模板方法模式的结构
12.1.2模板方法模式的使用
12.2钩子方法
12.3模板方法模式的优点
12.4适合使用模板方法模式的情景
12.5举例——考试与成绩录入
12.5.1设计要求
12.5.2设计实现
第13章 观察者模式
13.1观察者模式的结构与使用
13.1.1观察者模式的结构
13.1.2观察者模式的使用
13.2观察者模式中的“推”数据与“拉”数据
13.3观察者模式的优点
13.4适合使用观察者模式的情景
13.5举例——关注天气和旅游信息
13.5.1设计要求
13.5.2设计实现
第14章 访问者模式
14.1访问者模式的结构与使用
14.1.1访问者模式的结构
14.1.2访问者模式的使用
14.2双重分派
14.3访问者模式的优点
14.4适合使用访问模式的情景
14.5举例——评价体检表
14.5.1设计要求
14.5.2设计实现
第15章 装饰模式
15.1装饰模式的结构与使用
15.1.1装饰模式的结构
15.1.2装饰模式的使用
15.2使用多个装饰者
15.3装饰模式相对继承机制的优势
15.4装饰模式的优点
15.5适合使用装饰模式的情景
15.6举例——读取单词表
15.6.1设计要求
15.6.2设计实现
第16章 组合模式
16.1组合模式的结构与使用
16.1.1组合模式的结构
16.1.2组合模式的使用
16.2组合模式的优点
16.3适合使用组合模式的情景
16.4举例——苹果树的重量及苹果的价值
16.4.1设计要求
16.4.2设计实现
第17章 适配器模式
17.1适配器模式的结构与使用
17.1.1适配器模式的结构
17.1.2适配器模式的使用
17.1.3适配器的适配程度
17.2适配器模式的优点
17.3适合使用适配器模式的情景
17.4单接口适配器
17.5举例——Iterator接口与Enumeration接口
17.5.1设计要求
17.5.2设计实现
第18章 外观模式
18.1外观模式的结构与使用
18.1.1外观模式的结构
18.1.2外观模式的使用
18.2外观模式的优点
18.3适合使用外观模式的情景
18.4举例——解析文件
18.4.1设计要求
18.4.2设计实现
第19章 代理模式
19.1代理模式的结构与使用
19.1.1代理模式的结构
19.1.2代理模式的使用
19.2远程代理
19.2.1 RMI与代理模式
19.2.2 RMI的设计细节
19.3代理模式的优点
19.4适合使用代理模式的情景
19.5举例——使用远程窗口阅读文件
19.5.1设计要求
19.5.2设计实现
第20章 享元模式
20.1享元模式的结构与使用
20.1.1享元模式的结构
20.1.2享元模式的使用
20.2享元模式的优点
20.3适合使用享元模式的情景
20.4举例——化合物
20.4.1设计要求
20.4.2设计实现
第21章 桥接模式
21.1桥接模式的结构与使用
21.1.1桥接模式的结构
21.1.2桥接模式的使用
21.2桥接模式的优点
21.3适合使用桥接模式的情景
21.4举例——模拟电视节目
21.4.1设计要求
21.4.2设计实现
第22章 工厂方法模式
22.1工厂方法模式的结构与使用
22.1.1工厂方法模式的结构
22.1.2工厂方法模式的使用
22.2工厂方法模式的优点
22.3适合使用工厂方法模式的情景
22.4举例——药品
22.4.1设计要求
22.4.2设计实现
第23章 抽象工厂模式
23.1抽象工厂模式的结构与使用
23.1.1抽象工厂模式的结构
23.1.2抽象工厂模式的使用
23.2工厂方法模式的优点
23.3适合使用抽象工厂模式的情景
23.4举例——商店与西服、牛仔服
23.4.1设计要求
23.4.2设计实现
23.4.3模式的使用
第24章 生成器模式
24.1生成器模式的结构与使用
24.1.1生成器模式的结构
24.1.2生成器模式的使用
24.2生成器模式的优点
24.3适合使用生成器模式的情景
24.4举例——日历牌
24.4.1设计要求
24.4.2设计实现
第25章 原型模式
25.1 java.lang.Object类的clone方法
25.2 Serializable接口与克隆对象
25.3原型模式的结构与使用
25.3.1原型模式的结构
25.3.2原型模式的使用
25.4原型模式的优点
25.5适合使用原型模式的情景
25.6举例——克隆容器
25.6.1设计要求
25.6.2设计实现
第26章 单件模式
26.1单件模式的结构与使用
26.1.1单件模式的结构
26.1.2单件模式的使用
26.2单件模式的优点
26.3适合使用单件模式的情景
26.4举例——冠军
26.4.1设计要求
26.4.2设计实现
参考文献