展开全部

主编推荐语

本书直观易懂地介绍了面向对象的全貌及其包含的各项技术。

内容简介

全书内容包括面向对象编程、框架、设计模式、UML、建模、面向对象设计和敏捷开发方法等。对于各项技术是如何使用的(How),书中只进行简要的说明,而重点介绍这些技术是什么(What),以及为什么需要这些技术(Why)。

另外,“编程往事”专栏介绍了作者年轻时的一些经历;“对象的另一面”专栏以与正文不同的视角讲解面向对象这一概念普及的背景和原因,通俗有趣;“当今的OOP”专栏介绍了Java、Python、Ruby、JavaScript等当今流行的编程语言的最新动向。

目录

  • 版权信息
  • 推荐序1
  • 推荐序2
  • 前言
  • 本书的结构
  • 各章的结构
  • 第1章 面向对象:让软件开发变轻松的技术
  • 1.1 面向对象是软件开发的综合技术
  • 1.2 以对象为中心编写软件的开发方法
  • 1.3 从编程语言演化为综合技术
  • 1.4 面向对象难的原因
  • 1.5 原因之一:OOP结构复杂
  • 1.6 原因之二:滥用比喻引起混乱
  • 1.7 原因之三:面向对象的概念是抽象的
  • 1.8 重点讲解“是什么”和“为什么”
  • 1.9 本书的构成
  • 第2章 似是而非:面向对象与现实世界
  • 2.1 对照现实世界介绍面向对象
  • 2.2 类指类型,实例指具体的物
  • 2.3 多态让消息的发送方法变得通用
  • 2.4 继承对共同点和不同点进行系统的分类和整理
  • 2.5 使用比喻进行讲解容易造成混乱
  • 2.6 面向对象和现实世界是似是而非的
  • 2.7 明确定义为编程结构
  • 2.8 软件并不会直接表示现实世界
  • 2.9 与现实世界的相似增大了可能性
  • 第3章 理解OOP:编程语言的历史
  • 3.1 OOP的出现具有必然性
  • 3.2 最初使用机器语言编写程序
  • 3.3 编程语言的第一步是汇编语言
  • 3.4 高级语言使程序更加接近人类语言
  • 3.5 重视易懂性的结构化编程
  • 3.6 提高子程序的独立性,强化可维护性
  • 3.7 实现无GOTO编程的结构化语言
  • 3.8 进化方向演变为重视可维护性和可重用性
  • 3.9 没有解决全局变量问题和可重用性差的问题
  • 深入学习的参考书
  • 第4章 面向对象编程技术:去除冗余、进行整理
  • 4.1 OOP具有结构化语言所没有的三种结构
  • 4.2 OOP的结构会根据编程语言的不同而略有差异
  • 4.3 三大要素之一:具有三种功能的类
  • 4.4 类的功能之一:汇总
  • 4.5 类的功能之二:隐藏
  • 4.6 类的功能之三:创建很多个
  • 4.7 实例变量是限定访问范围的全局变量
  • 4.8 三大要素之二:实现调用端公用化的多态
  • 4.9 三大要素之三:去除类的重复定义的继承
  • 4.10 对三大要素的总结
  • 4.11 通过嵌入类型使程序员的工作变轻松
  • 4.12 将类作为类型使用
  • 4.13 编程语言“退化”了吗
  • 4.14 更先进的OOP结构
  • 4.15 进化的OOP结构之一:包
  • 4.16 进化的OOP结构之二:异常
  • 4.17 进化的OOP结构之三:垃圾回收
  • 4.18 对进化的OOP结构的总结
  • 4.19 决心决定OOP的生死
  • 第5章 理解内存结构:程序员的基本素养
  • 5.1 理解OOP程序的运行机制
  • 5.2 两种运行方式:编译器与解释器
  • 5.3 解释、运行中间代码的虚拟机
  • 5.4 CPU同时运行多个线程
  • 5.5 使用静态区、堆区和栈区进行管理
  • 5.6 OOP的特征在于内存的用法
  • 5.7 每个类只加载一个类信息
  • 5.8 每次创建实例都会使用堆区
  • 5.9 在变量中存储实例的指针
  • 5.10 复制存储实例的变量时要多加注意
  • 5.11 多态让不同的类看起来一样
  • 5.12 根据继承的信息类型的不同,内存配置也不同
  • 5.13 孤立的实例由垃圾回收处理
  • 深入学习的参考书
  • 第6章 重用:OOP带来的软件重用和思想重用
  • 6.1 OOP的优秀结构能够促进重用
  • 6.2 类库是OOP的软件构件群
  • 6.3 标准类库是语言规范的一部分
  • 6.4 将Object类作为祖先类的继承结构
  • 6.5 框架存在各种含义
  • 6.6 框架是应用程序的半成品
  • 6.7 世界上可重用的软件构件群
  • 6.8 独立性较高的构件:组件
  • 6.9 设计模式是优秀的设计思想集
  • 6.10 设计模式是类库探险的路标
  • 6.11 扩展到各个领域的思想的重用
  • 6.12 通过类库和模式发现的重用的好处
  • 深入学习的参考书
  • 第7章 化为通用的归纳整理法的面向对象
  • 7.1 软件不会直接表示现实世界
  • 7.2 应用于集合论和职责分配
  • 7.3 在上游工程中化为通用的归纳整理法
  • 7.4 两种含义引起混乱
  • 7.5 分为编程技术和归纳整理法进行思考
  • 7.6 为何化为了通用的归纳整理法
  • 第8章 UML:查看无形软件的工具
  • 8.1 UML是表示软件功能和结构的图形的绘制方法
  • 8.2 UML有13种图形
  • 8.3 UML的使用方法大致分为三种
  • 8.4 UML的使用方法之一:表示程序结构和动作
  • 8.5 类图表示OOP程序的结构
  • 8.6 使用时序图和通信图表示动作
  • 8.7 UML的使用方法之二:表示归纳整理法的成果
  • 8.8 使用类图表示根据集合论进行整理的结果
  • 8.9 表示职责分配的时序图和通信图
  • 8.10 UML的使用方法之三:表示非面向对象的信息
  • 8.11 使用用例图表示交给计算机的工作
  • 8.12 使用活动图表示工作流程
  • 8.13 使用状态机图表示状态的变化
  • 8.14 弥补自然语言和计算机语言缺点的“语言”
  • 深入学习的参考书
  • 第9章 建模:填补现实世界和软件之间的沟壑
  • 9.1 现实世界和软件之间存在沟壑
  • 9.2 计算机擅长固定工作和记忆工作
  • 9.3 通过业务分析、需求定义和设计来填补沟壑
  • 9.4 建模是顺利推进这三个阶段的工作的技术
  • 9.5 应用程序不同,建模的内容也不一样
  • 9.6 业务应用程序记录现实中的事情
  • 9.7 对图书馆的借阅业务进行建模
  • 9.8 使用用例图来表示图书馆业务
  • 9.9 用概念模型表示图书馆系统的信息
  • 9.10 在业务应用程序中,数据结构反映现实世界
  • 9.11 嵌入式软件替代现实世界的工作
  • 9.12 嵌入式软件中设备的研究开发很重要
  • 9.13 使用状态机图表示全自动工作的情形
  • 9.14 嵌入式软件一直执行单调的工作
  • 9.15 建模蕴含着软件开发的乐趣
  • 深入学习的参考书
  • 第10章 面向对象设计:拟人化和职责分配
  • 10.1 设计的目标范围很广
  • 10.2 相比运行效率,现在更重视可维护性和可重用性
  • 10.3 设计目标之一:去除重复
  • 10.4 设计目标之二:提高构件的独立性
  • 10.5 提高构件独立性的诀窍
  • 10.6 设计目标之三:避免依赖关系发生循环
  • 10.7 面向对象设计的“感觉”是拟人化和职责分配
  • 10.8 进行了职责分配的软件创建的奇妙世界
  • 深入学习的参考书
  • 第11章 衍生:敏捷开发
  • 11.1 仅靠技术和技术窍门,软件开发并不会成功
  • 11.2 系统地汇总了作业步骤和成果的开发流程
  • 11.3 限制修改的瀑布式开发流程
  • 11.4 瀑布式开发流程的极限
  • 11.5 灵活响应变化的迭代式开发流程
  • 11.6 打破诸多限制的XP
  • 11.7 确定团队工作推进方式的框架的Scrum
  • 11.8 快速编写优秀软件的敏捷宣言
  • 11.9 支持敏捷开发的实践
  • 11.10 先编写测试代码,一边运行一边开发的测试驱动开发
  • 11.11 在程序完成后改善运行代码的重构
  • 11.12 经常进行系统整合的持续集成
  • 11.13 实践敏捷宣言理念的方法
  • 11.14 敏捷开发源于面向对象
  • 11.15 不存在最好的开发流程
  • 深入学习的参考书
  • 第12章 熟练掌握面向对象
  • 12.1 面向对象这一强大概念是原动力
  • 12.2 时代追上了面向对象
  • 12.3 面向对象的热潮不会结束
  • 12.4 将面向对象作为工具熟练掌握
  • 12.5 享受需要动脑的软件开发
  • 深入学习的参考书
  • 附章 函数式语言是怎样工作的
  • A.1 面向对象编程语言和函数式语言混合占据主流的时代
  • A.2 函数式语言的7个特征
  • A.3 特征1:使用函数编写程序
  • A.4 特征2:所有表达式都返回值
  • A.5 特征3:将函数作为值进行处理
  • A.6 特征4:可以灵活组合函数和参数
  • A.7 特征5:没有副作用
  • A.8 特征6:使用模式匹配和递归来编写循环处理
  • A.9 特征7:编译器自动进行类型推断
  • A.10 对7个特征的总结
  • A.11 函数式语言的分类
  • A.12 函数式语言的优势
  • A.13 函数式语言的课题
  • A.14 函数式语言和面向对象的关系
  • A.15 掌握函数式编程
  • 深入学习的参考书
  • 后记
  • 致谢
展开全部

评分及书评

4.0
5个评分
  • 用户头像
    给这本书评了
    5.0

    这本书讲得很通俗易懂,面向对象领域中的重要概念术语方法都解释得比较清楚,作者的一些观点和看法很不错,但全书只是介绍了面向对象的概貌,不够深入,想要真正地理解面向对象,还需要深入学习其他的专著,并且应该使用一种面向对象的编程语言和技术,完整地完成一个项 ­ 目。光看书,没有足够的实践,学不会面向对象。

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。