java 面向对象 pdf_面向对象设计原理与模式(Java版) PDF扫描版[86MB]

《面向对象设计原理与模式(Java版)》深入探讨Java的面向对象设计,涵盖代码优雅性、继承、方法、类、设计模式等关键概念,通过实例分析帮助读者理解和应用。适合计算机科学专业学生及Java程序员作为参考书。
摘要由CSDN通过智能技术生成

面向对象设计原理与模式(Java版) 内容简介:

出版日期: 2009年4月1日

《面向对象设计原理与模式(Java版)》全面介绍了Java面向对象程序设计的原理和模式,帮助解决Java程序中的设计问题。此外,该书十分注重Java面向对象程序设计的每个细节,以及继承、方法、类、设计模式等在程序设计中起到的关键作用,浓缩了Java的精华。在进行理论介绍的同时,《面向对象设计原理与模式(Java版)》十分重视实践技能的培养,一些较为综合的实例贯穿了相关的知识点,使学生理解并掌握它们在程序设计中的真正用处和在提升程序性能方面的作用。《面向对象设计原理与模式(Java版)》不但可作为高校计算机科学专业的教材,还可作为Java程序设计人员的必备参考书。

推荐编辑

《面向对象设计原理与模式(Java版)》特色:根据代码“优雅性”讨论设计和实现,使用小型和中型案例分析来介绍设计原理和模式,大部分设计模式均在解决某个问题的背景中引入,在每章的末尾都有大量的各种难度的练习题,便于学生温故而知新。

作者

作者:(美国)斯科瑞 (Dale Skrien) 译者:腾灵灵 仲婷

Dale Skrien,美国Colby大学计算机科学系的教授,研究方向为算法图形理论,面向对象设计,以及计算机音乐。

面向对象设计原理与模式(Java版) 目录:

第1章 面向对象设计与实现的优雅性

1.1 存在的问题

1.2 软件工程

1.3 设计优雅软件的标准

1.4 说明

1.5 练习题

1.6 参考文献

第2章 面向对象的基础知识

2.1 面向对象编程与非面向对象编程

2.1.1 面向对象编程与非面向对象编程简介

2.1.2 面向对象语言

2.1.3 面向对象编程的优点

2.2 Java中的类、对象、变量和方法

2.3 插入语:Java中的类方法和类变量

2.3.1 类变量及类方法简介

2.3.2 Java中的类变量及其使用

2.3.3 Java中的类方法及其使用

2.3.4 小结

2.4 UML类图简介

2.5 实现继承

2.5.1 特殊化

2.5.2 Java中的Obiect父类

2.5.3 特殊化的另一种使用

2.5.4 泛化

2.5.5 Java中的单继承

2.6 类型、子类型和接口继承

2.6.1 类型

2.6.2 多态

2.6.3 多态的价值

2.7 接口与抽象类

2.8 动态方法调用

2.9 重载与重写

2.10 控制对方法和数据的访问

2.11 小结

2.12 练习题

2.13 参考文献

第3章 优雅性与实现继承

3.1 关于继承的四个观点

3.1.1 代码重用观点

3.1.2 Is-A观点

3.1.3 公共接口观点

3.1.4 多态观点

3.2 代码重用的充分性

3.3 代码重用联合Is-A关系的充分性

3.4 代码重用、Is-A关系以及公共接口的充分性

3.5 Has-A关系和UML关联关系

3.6 代码重用、Is-A关系、公共接口以及多态的充分性

3.7 使用实现继承的代价

3.8 示例:人、女人和男人

3.9 示例:绘制多边形

3.10 示例:排序

3.11 Java中数组的子类化

3.12 回顾:继承与引用

3.13 小结

3.14 练习题

3.15 参考文献

第4章 优雅性与方法

4.1 编码风格和命名约定

4.2 方法与分解

4.3 内聚方法

4.4 结构良好的对象和类不变式

4.5 内部文档

4.6 外部文档

4.7 案例分析:重写Java中的equals方法

4.8 案例分析:重写Java中的clone方法

4.9 重构

4.10 代码优化

4.11 小结

4.12 练习题

4.13 参考文献

第5章 优雅性和类

5.1 开始寻找类和类之间的关系

5.1.1 提取名词和动词

5.1.2 使用应用领域的概念

5.1.3 使用CRC卡片

5.1.4 类协议

5.1.5 小结

5.2 最大化内聚度

5.3 责任的分离

5.4 避免冗余

5.5 完整一致的协议

5.6 回顾:可变性与不可变性

5.7 为改变而设计

5.8 迪米特法则

5.9 小结

5.10 练习题

5.11 参考文献

第6章 Money类的简单案例研究

6.1 Money的朴素表示法

6.2 USMoney类

6.3 使用Money的子类来表示不同的货币

6.4 使用具有一个币种属性的单一Money类

6.5 混合币种与简单币种

6.6 币种间转换

6.7 MoneyConverter类的问题

6.8 MixedMoney类和SimplemMoney类的问题

6.9 仅用MixedMoney类

6.10 另一种使用二叉树的实现方法

6.11 小结

6.12 练习题

6.13 参考文献

第7章 设计模式介绍

7.1 适配器模式

7.2 单例模式

7.3 迭代器模式

7.4 命令模式

7.5 工厂

7.6 小结

7.7 练习题

7.8 参考文献

第8章 绘图应用程序案例研究

8.1 用户界面

8.2 观察者模式

8.3 图形层次

8.4 模型一视图.控制器体系结构

8.5 原型模式

8.6 状态模式

8.7 组成模式

8.8 备忘录模式

8.9 小结

8.10 练习题

8.11 参考文献

第9章 语言解析器案例研究

9.1 VSSJ:Java的一个非常简单的子集

9.2 美化输出

9.3 扫描

9.4 简单的美化输出程序

9.5 解释器模式

9.6 AST设计

9.7 方法发现器

9.8 优雅实现的一些问题

9.9 访问者模式

9.10 访问者和双重分派

9.11 外观模式

9.12 解析器和生成器

9.13 记号、访问者及多态

9.14 小结

9.15 练习题

9.16 参考文献

附录AUML介绍

附录B编码约定和Javadoc注释

5e81a4b8b1c62d3a3472de8aabe2dddf.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值