本书是经典面向对象技术教材的最新版,原版已被哥伦比亚大学、佛罗里达大学、南非大学、罗马大学等众多世界名校用做教材。书中通过对象、方法、继承(包括多重继承)和多态等概念,以独立于编程语言的方式介绍了面向对象的原理。书中所列举的实例涉及多种编程语言,其中包括Java、C++、C#、Delphi、Python、CLOS、Eiffel、Objective-C、Smalltalk等。通过研究这些编程语言,读者可以更好地理解隐藏在各种语言语法之后的基本原理。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 面向对象编程导论(原书第3版)/软件工程技术丛书 |
分类 | |
作者 | (美国)巴德著//黄明军等译 |
出版社 | 机械工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书是经典面向对象技术教材的最新版,原版已被哥伦比亚大学、佛罗里达大学、南非大学、罗马大学等众多世界名校用做教材。书中通过对象、方法、继承(包括多重继承)和多态等概念,以独立于编程语言的方式介绍了面向对象的原理。书中所列举的实例涉及多种编程语言,其中包括Java、C++、C#、Delphi、Python、CLOS、Eiffel、Objective-C、Smalltalk等。通过研究这些编程语言,读者可以更好地理解隐藏在各种语言语法之后的基本原理。 内容推荐 本书通过对象、方法、继承(包括多重继承)和多态等概念,以独立于编程语言的方式介绍了面向对象编程的原理。书中所列举的实例涉及多种编程语言,其中包括Java、C++、C#、Delphi、Python、CL0S、Eiffel、0bjective-C、Smalhalk等。通过研究这些编程语言,读者可以更好地理解隐藏在各种语言语法之后的基本原理。此外,作者还从面向对象的角度对这些语言进行了分析比较。 本书内容全面,特别适合作为计算机专业本科高年级和研究生一年级的教材,同时也可以供那些从传统的面向过程编程转向面向对象编程、想要了解面向对象基本概念的初学者使用。 目录 译者序 前言 第1章 面向对象思想 1.1为什么00P这么流行 1.2语言和思维 1.2.1爱斯基摩人和雪 1.2.2关于计算机语言的一个例子 1.2.3丘奇猜想和沃夫假说 1.3一个新的范例 1.4一种观察世界的方式 1.4.1代理和团体 1.4.2消息和方法 1.4.3责任 1.4.4类和实例 1.4.5类的层次——继承 1.4.6方法绑定与改写 1.4.7面向对象概念总结 1.5模拟计算 1.5.1隐喻的力量 1.5.2避免无限回归 1.6一段简史 小结 进一步阅读材料 自学提问 练习 第2章 抽象 2.1抽象层次 2.2抽象的其他形式 2.2.1部分分化 2.2.2封装和互换性 2.2.3接口和实现 2.2.4服务视角 2.2.5复合法 2.2.6特化分层 2.2.7模式 2.3抽象机制的发展简史 2.3.1汇编语言 2.3.2过程 2.3.3模块 2.3.4抽象数据类型 2.3.5以服务为中心的观点 2.3.6消息、继承和多态 小结 进一步阅读材料 自学提问 练习 第3章 面向对象设计 3.1责任意味着无干扰 3.2小项目编程与大项目编程 3.3为什么从行为开始 3.4一个RDD实例 3.4.1交互式智能厨房助手 3.4.2通过场景工作 3.4.3组件的标识 3.5CRC卡——记录责任 3.5.1给组件一个物理表示 3.5.2“什么,谁”循环 3.5.3文档 3.6组件和行为 3.6.1延迟决定 3.6.2为变化做准备 3.6.3继续场景 3.6.4交互图表 3.7软件组件 3.7.1行为和状态 3.7.2实例和类 3.7.3耦合性和内聚性 3.7.4接口和实现——Pamas原则 3.8形式化接口 3.9设计表现 3.10实现组件 3.11组件集成 3.12维护和升级 小结 进一步阅读材料 自学提问 练习 第4章 类和方法 4.1封装 4.2类定义 4.2.1C++、Java和C#语言 4.2.2Apple0bjectPascal和DelphiPascal 语言 4.2.3Smalltalk语言 4.2.4其他语言 4.3方法 4.3.1类中方法的声明次序 4.3.2常量或不可变数据字段 4.3.3定义和实现的分离 4.4关于类主题的变化 4.4.1Oberon语言中不属于类的方法 4.4.2接口 4.4.3属性 4.4.4向前定义 4.4.5内部类(或嵌套类) 4.4.6类的数据字段 4.4.7作为对象的类 小结 进一步阅读材料 自学提问 练习 第5章 消息、实例和初始化 5.1消息传递语法 5.2静态类型语言和动态类型语言 5.3从方法内部存取接收器 5.4对象的创建 5.5指针和内存分配 5.6构造函数 5.6.1正统规范的类形式 5.6.2常数值 5.7析构函数和终止器 5.8Smalhalk语言中的元类 小结 进一步阅读材料 自学提问 练习 第6章 案例研究:八皇后问题 6.1八皇后问题 6.2使用生成器 6.2.1初始化 6.2.2找到解决方案 6.2.3前进到下一位置 6.3用几种语言实现八皇后问题 6.3.1用0bjectPascal语言实现八皇后 问题 6.3.2用c++语言实现八皇后问题 6.3.3用Java语言实现八皇后问题 6.3.4用Objective-C语言实现八皇后 问题 6.3.5用Smalltalk语言实现八皇后问题 6.3.6用Ruby语言实现八皇后问题 小结 进一步阅读材料 自学提问 练习 第7章 案例研究:台球游戏 7.1台球元素 7.2图形对象 7.2.1桌壁图形对象 7.2.2洞口图形对象 7.2.3球图形对象 7.3主程序 7.4使用继承 小结 讲一步阅读材料 自学提问 练习 第8章 继承与替换 8.1关于继承的直观描述 8.1.1“是一个”检验 8.1.2使用继承的原因 8.2不同语言中的继承 8.3子类、子类型和替换 8.4改写和虚拟方法 8.5接口和抽象类 8.6继承的形式 8.6.1特化子类化(子类型化) 8.6.2规范子类化 8.6.3构造子类化 8.6.4泛化子类化 8.6.5扩展子类化 8.6.6限制子类化 8.6.7变体子类化 8.6.8结合子类化 8.6.9各种继承形式小结 8.7关于继承的变体 8.7.1Java语言中的匿名类 8.7.2继承和构造函数 8.7.3虚拟析构函数 8.8继承的优点 8.8.1软件可复用性 8.8.2代码共享 8.8.3接口的一致性 8.8.4软件组件 8.8.5快速原型法 8.8.6多态和框架 8.8.7信息隐藏 8.9继承的代价 8.9.1程序执行速度 8.9.2程序大小 8.9.3消息传递的开销 8.9.4程序复杂性 小结 进一步阅读材料 自学提问 练习 第9章 案例研究:纸牌游戏 9.1P1ayingCard类 9.2数据类和视图类 9.3游戏 9.4牌堆——使用继承 9.4.1缺省牌堆 9.4.2花色堆 9.4.3待用堆 9.4.4丢弃堆 9.4.5桌面堆 9.5多种形式的游戏 9.6图形用户界面 小结 进一步阅读材料 自学提问 练习 第10章 子类和子类型 10.1可替换性 10.2子类型 10.3可替换性悖论 10.4构造子类化 10.5动态类型语言 10.6前置条件和后置条件 10.7改进语义 小结 进一步阅读材料 自学提问 练习 第11章 静态行为和动态行为 11.1静态类型化和动态类型化 11.2静态类和动态类 11.2.1运行时类型决定 11.2.2向下造型(反多态) 11.2.3非语言支持的运行时测试 11.2.4检验是否理解消息 11.3静态方法绑定和动态方法绑定 小结 进一步阅读材料 自学提问 练习 第12章 替换的本质 12.1内存布局 12.1.1最小静态空间分配 12.1.2最大静态空间分配 12.1.3动态内存分配 12.2赋值 12.3复制和克隆 12.3.1Smalltalk语言和0bjectivo-C语言中 的复制 12.3.2c++语言中的拷贝构造函数 12.3.3Java语言中的克隆 12.4相同 12.4.1相同和同一 12.4.2相同检验的悖论 小结 进一步阅读材料 自学提问 练习 第13章 多重继承 13.1分类化继承 13.2多重继承带来的问题 13.2.1名称歧义 13.2.2对替换的影响 13.2.3Eiffel语言中的重定义 13.2.4CIDS语言的类排序解决方案 13.3接口的多重继承 13.4继承于公共祖先 13.5内部类 小结 进一步阅读材料 自学提问 练习 第14章 多态及软件复用 14.1编程语言中的多态 14.2软件复用机制 14.2.1使用组合 14.2.2使用继承 14.2.3组合和继承的比较 14.3效率和多态 14.4软件复用的普及会变成现实吗 小结 进一步阅读材料 自学提问 练习 第15章 重载 15.1类型签名和范畴 15.2基于范畴的重载 15.3基于类型签名的重载 15.4重定义 15.5多价 15.6多方法 小结 进一步阅读材料 自学提问 练习 第16章 改写 16.1标识改写 16.2代替与改进 16.2.1Smalltalk语言中的代替 16.2.2Beta语言中的改进 16.2.3改进与子类/子类型之间的差异 16.2.4cIDS语言中的封装 16.3延迟方法 16.4改写与遮蔽 16.5协方差与反协方差 16.6改写的变体 16.6.1Java语言中的final方法 16.6.2C#语言中的版本化 小结 进一步阅读材料 自学提问 练习 第17章 多态变量 17.1简单多态变量 17.2接收器变量 17.2.1多态变量在框架中的作用 17.2.2Smalltalk语言中的端点比较 17.2.3self和super 17.3向下造型 17.4纯多态 小结 进一步阅读材料 自学提问 练习 第18章 泛型 18.1模板函数 18.2模板类 18.3模板参数中的继承 18.4案例研究:结合分离的类 小结 进一步阅读材料 自学提问 练习 第19章 容器类 19.1动态类型语言中的容器 19.2静态类型语言中的容器 19.2.1类型化和复用之间的关系 19.2.2替换和向下造型 19.2.3使用替换和改写 19.2.4参数化类 19.3限制元素类型 19.4元素遍历 19.4.1迭代器循环 19.4.2访问器方法 小结 进一步阅读材料 自学提问 练习 第20章 案例研究:标准模板库 20.1迭代器 20.2函数对象 20.3样例程序——库存系统 20.4样例程序——图表 20.4.1最短路径算法 20.4.2开发数据结构 20.5词汇索引 20.600P的未来 小结 进一步阅读材料 自学提问 练习 第21章 框架 21.1复用和特化 21.1.1高级抽象和低级抽象 21.1.2倒置库 21.2样例框架 21.2.1JlavaAppletAPI 21.2.2模拟框架 21.2.3事件驱动的模拟框架 小结 进一步阅读材料 自学提问 练习 第22章 框架实例:AWT和Swing 22.1AWT的类继承层次 22.2布局管理器 22.3监听器 22.4用户界面组件 22.5案例研究:颜色显示 22.6Swing组件库 22.6.1导入库 22.6.2不同的组件 22.6.3不同的绘制协议 22.6.4为窗口增加组件 小结 进一步阅读材料 自学提问 练习 第23章 对象互连 23.1耦合和内聚 23.1.1耦合的种类 23.1.2内聚的种类 23.1.3德墨特尔法则 23.1.4类级别可视性与对象级别 可视性 23.1.5活动值 23.2子类客户和用户客户 23.3存取控制和可视性 23.3.1Smalltalk语言中的可视性 23.3.20biect:Pascal语言中的可视性 23.3.3C++语言中的可视性 23.3.4Java语言中的可视性 23.3.50bjective—c语言中的可视性 23.4有意依赖性 小结 进一步阅读材料 自学提问 练习 第24章 设计模式 24.1控制信息流 24.2描述模式 24.3迭代器 24.4软件工厂 24.5策略 24.6单件 24.7组合 24.8装饰器 24.9双调度模式 24.10享元 24.11代理 24.12外观 24.13观察者 小结 进一步阅读材料 自学提问 练习 第25章 反射和内省 25.1理解机制 25.1.1类对象 25.1.2字符串形式的类名称 25.1.3检测对象类 25.1.4通过类建立实例 25.1.5检测对象是否理解消息 25.1.6类行为 25.2作为对象的方法 25.3修改机制 25.3.1Smalltalk语言中的方法编辑 25.3.2Java语言中的动态类加载 25.4元类 小结 进一步阅读材料 自学提问 第26章 分布式对象 26.1地址、端口和套接字 26.2一个简单的客户/服务器程序 26.3多客户端 26.4通过网络传输对象 26.5更复杂的技术 小结 进一步阅读材料 自学提问 练习 第27章 实现 27.1编译器和解释器 27.2作为参数的接收器 27.3继承方法 27.3.1多重继承的问题 27.3.2裁剪问题 27.4改写方法 27.5名称编码 27.6分派表 27.7字节码解释器 27.8即时编译 小结 进一步阅读材料 自学提问 练习 附录A 八皇后问题的源代码 附录B 台球游戏的源代码 附录C 纸牌游戏的源代码 术语表 参考文献 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。