C++面向对象高效编程(第2版)面向对象软件开发已逐渐成为开发软件的首选。优秀的面向对象软件开发人员、设计人员、系统架构师对其需求与日俱增。要想成为一名成功的面向对象编程(OOP)人员必须忘却(摈弃)多年来面向程序编程的习惯,从新的角度分析问题。
面向对象编程要求程序员和设计者非常熟悉一些基本范式或概念。理解这些范式是在面向对象软件领域打下牢固基础的基本要求。支持OOP的语言都必须支持这些基本范式。换言之,学习OOP,简单地说,就是学习许多语言(如C++,Eiffel,SmallTalk,Java等)所支持的强大范式。本书的第一个目标是,让你在不过分深入语言语法要素的前提下,理解面向对象编程最重要的概念和原则。第一部分——概念、实践和应用,将涵盖这方面的内容。
掌握支持OOP的语言语法和学习OOP的概念不一样。对基本OOP范式一无所知的人,也能成为C++或Java的佼佼者。但是,理解OOP基本概念的人可以在任何支持OOP的语言中有效地使用这些概念。而且,他/她还知道何时加入特定的概念。任何掌握链表概念的人都会发现,它是在Pascal、C或Modula-2中实现链表的基础。比方说,如果你知道如何游泳,就可以在湖泊、池塘或游泳池中游泳。语言只是一个帮助你实现最终目标的载体。
1.1 背景1.2 理解对象模型1.3 术语1.4 理解消息、方法和实例变量1.5 什么可以作为类1.6 什么不是类1.7 类的目的1.8 深入了解对象1.9 面向对象软件开发的阶段1.10 面向对象编程(OOP)1.11 对象模型的关键要素1.12 OOP 范式和语言1.13 面向对象编程语言的要求1.14 对象模型的优点1.15 小结
2.1 接口和实现的分离2.2 对象接口的重要性2.3 实现的含义2.4 保护实现2.5 数据封装的优点2.6 接口、实现和数据封装之间的关系2.7 数据封装注意事项2.8 确定封装的内容2.9 抽象数据类型2.10 抽象数据类型—栈的实现2.11 C++中的数据抽象2.12 类中的访问区域2.13 和类一起使用的术语2.14 类的实现者2.15 实现成员函数2.16 识别成员函数的目标对象2.17 程序示例2.18 对象是重点2.19 对接口的再认识2.20 什么是多线程安全类2.21 确保抽象的可靠性——类不变式和断言2.22 面向对象设计的表示法2.23 Booch 表示法2.24 Booch 中类的关系2.25 统一建模语言(UML)2.26 UML 中类的关系2.27 关联2.28 组合2.29 泛化关系(is-a)2.30 has-a关系的重要性2.31 小结
3.1 类概念的基础3.2 类要素的细节3.3 复制构造函数3.4 赋值操作符3.5 this 指针和名称重整的进一步说明3.6 const 成员函数的概念3.7 编译器如何实现const 成员函数3.8 C++中类和结构的区别3.9 类可以包含什么3.10 设计期间的重点——类的接口3.11 类名、成员函数名、参数类型和文档3.12 参数传递模式——客户的角度3.13 采用语义3.14 为参数选择正确的模式3.15 函数返回值3.16 从函数中返回引用3.17 编写内存安全类3.18 客户对类和函数的责任3.19 小结
4.1 什么是初始化4.2 无用单元收集问题4.3 C++中的无用单元收集4.4 对象的标识4.5 对象复制的语义4.6 对象赋值的语义4.7 对象相等的语义4.8 为什么需要副本控制4.9 分析4.10 “写时复制”的概念4.11 类和类型4.12 小结
相关资源:c 面向对象高效编程(第二版 最新版)003 (共分三卷)