您的浏览历史

写给大家看的面向对象编程书:第3版(最通俗易懂的面向对象著作)

促销活动
  • [本书]参加人民邮电出版社满80元赠书活动

基本信息

编辑推荐

被誉为“最通俗易懂的面向对象著作” .
教你如何以对象的方式思考,兼顾Java、C#和VB语言..
将抽象概念与趣味示例相结合,贴近实战...

推荐阅读

内容简介回到顶部↑

  本书是一部独具特色的面向对象技术著作。书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器技术等。
  本书内容精炼,示例简单明了,适合各层次面向对象开发人员阅读,也是高校相关专业面向对象课程的理想教学参考书。

作译者回到顶部↑

本书提供作译者介绍

Matt Weisfeld,资深软件技术专家。在C++、Smalltalk、.NET和Java方面具有20多年的专业软件开发经验、项目管理经验和培训经验。此外,他也是许多主要计算机技术杂志和专业期刊的撰稿人。
.. << 查看详细

目录回到顶部↑

第1章 面向对象概念介绍 
 1.1 过程式程序设计与OO程序设计 
 1.2 从过程式开发转向面向对象开发 
 1.3 对象到底是什么 
 1.4 类到底是什么 
 1.5 使用UML完成类图建模 
 1.6 封装和数据隐藏 
 1.7 继承 
 1.8 多态 
 1.9 组合 
 1.10 小结 
 1.11 本章使用的示例代码 
第2章 如何以对象方式思考 
 2.1 了解接口与实现之间的区别 
 2.2 设计接口时使用抽象思维 
 2.3 尽可能为用户提供最小接口 
 2.4 小结 
 2.5 参考书目 
第3章 高级面向对象概念 
 3.1 构造函数 

译者序回到顶部↑

这不是一本单纯讲解语法的编程书,也不是一本纯粹的概念书,作者摆脱编程书容易陷入的语法细节,从面向对象思维过程这个更高层次将面向对象的概念娓娓道来,将抽象的概念与具体的示例有机地结合在一起,让读者得以“既见树木,又见森林”。.
从内容的组织上看,作者首先回答了面向对象开发中最基本的两个问题:对象是什么,类又是什么。在这个基础上,通过简明的例子清晰地展示了面向对象的重要特性:封装和数据隐藏、继承、多态和组合。为全书内容的展开铺设了一个框架。..
与其他面向对象书不同的是,这本书深入分析了如何采用对象思维方式思考,逐步从基本概念过渡到高级概念后,增加了一些与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器技术等。也许我们已经习惯于“语法—简单例子—复杂应用”的介绍模式,而这种组织方式更贴近于开发人员的学习曲线,从本书不断修订再版和持续热销可以看出,这种安排更容易让人接受。
这本书吸引我们的不光是内容上的合理取舍和结构的精巧组织,还在于作者采用了卓有趣味的示例来加深理解。作者尽可能用最简单明了的例子让读者对概念有全面、具体的了解,并且将面向对象思维的触角向外延伸,在拓宽面向对象应用领域的同时,也使读者的思路随之打开,这对于进一步地学习面向对象设计或面向对象编程大有益处。
在此深深地感谢我们的家人和朋友。在翻译过程中,他们给予了我们莫大的关心、支持和帮助。
全书主要由张雷生、刘晓兵翻译,并得到王恒、牛亚峰、苏金国、刘亮、王小振、高强、范松峰等的帮助,全体人员共同完成了本书的翻译工作,最后由张雷生、刘晓兵统稿。
由于时间仓促,且译者的水平有限,在翻译过程中难免会出现一些错误,请读者批评指正。...
译 者
2008年9月

前言回到顶部↑

本书涵盖范围.
顾名思义,这是一本关于面向对象(object-oriented,OO)思想的书。显然,选择书的主题和书名非常重要,不过,做出这些决定并不那么容易。有很多书已经在不同层面讨论了面向对象。一些畅销书讨论了OO分析、OO设计、OO程序设计、设计模式、OO数据(XML)、UML(Unified Modeling Language,统一建模语言)、OO Internet开发以及各种OO编程语言等主题,还涉及了有关OO开发的许多其他方面。
不过,如果陷入如此众多浩如烟海的书中,很多人会忘记最根本的一点,即所有这些主题都建立在一个共同的基础之上:如何用OO的方式思考。遗憾的是,软件专业人员往往没有花费适当的时间和精力来真正理解基本概念,就匆忙地一头扎入这些书中。
我要申明的是,学习OO概念绝对不是通过学习一种特定的开发方法或者一套工具就能做到的。简单地讲,采用OO的方式行事是一种思维方式。本书就专门讨论OO思维过程。
将具体的方法和工具与OO思想区分开并不容易。很多人都是通过某种方法或工具才开始接触到OO概念的。例如,很多年以前,大多数C程序员最早都是通过直接移植到C++才对面向对象有所了解的,而在此之前,他们甚至根本没有接触过任何OO概念。其他软件专业人员最早了解面向对象,也是因为看到了一些包含UML对象模型的演示,同样,他们此前完全没有直接接触过OO概念。很多编程书和课程直到学习过程后期才谈到OO概念,这种情况并不鲜见。
重要的是,需要了解学习OO概念与使用支持OO的方法和工具之间存在着显著差别。在我写本书的第1版之前就注意到了这个问题,那时我读了一些文章,比如Craig Larman的“What the UML Is—and Isn’t”。在这篇文章中,他指出:
遗憾的是,在软件工程和UML图示语言领域中,有人认为读写UML记法的技巧有时与面向对象分析和设计的技巧地位相同。当然,事实并非如此,后者要比前者重要得多。因此,强烈建议寻找适当的教学培训和教学资源,其中要更强调面向对象分析和设计的技术技巧,而不只是介绍UML或某个用例工具的使用。
尽管学习建模语言是很重要的一步,但首先学习OO技巧更为重要。如果在学习OO概念之前先学UML,这就像是在完全不知电为何物的前提下学习如何读懂电路图。
学习程序设计语言也存在同样的问题。如前所述,很多C程序员都是通过移植到C++而转向面向对象领域,但在此之前他们没有直接接触过OO概念。这一点往往会在程序员面试时暴露出来。很多情况下,程序员声称自己是C++程序员,但实际上他们只是使用C++编译器的C程序员。即使是现在,尽管有C#.NET、VB.NET和Java等优秀的语言可以使用,但在求职面试中,几个关键问题就能很快暴露出面试者缺乏对OO的理解。
VB的早期版本不是OO的。C也不是OO的,C++则开发为与C向后兼容。正因如此,完全可以使用一个C++编译器(只使用C语法编写代码)而不利用C++的任何OO特性。更糟糕的是,如果程序员做法不当,只是使用一些OO特性就能让OO程序员和非OO程序员都无法读懂他的程序。
因此,如果你正在OO开发的道路上探索,最重要的就是首先学习基本的OO概念。一定要抵制住诱惑,不要贸然直接沉溺到某种编程语言中(如VB.NET、C++、C#.NET或Java),或者深陷到某种建模语言中(如UML),应当花些时间来学习面向对象思维过程。
20世纪80年代末,在我学Smalltalk的第一堂课上,老师告诉全班同学,新的OO范型是一种全新的思维方式(尽管早在60年代它就已经存在了)。他还说,尽管我们都很有可能成为非常棒的程序员,但是我们当中大约10%~20%的人可能无法真正领悟OO的工作方法。如果他所讲的是真的,这很可能就是因为一些人根本没有花时间先完成开发范型的转换并学习基本的OO概念。
第3版新增内容
至此已经多次提到,第1版主要是作为一本介绍概念的书。尽管第2版和第3版仍然追求这个目标,但我又做了补充,增加了一些与面向对象概念密切相关的应用主题。在第3版中,我扩展了第2版中的许多主题,并加入了一些全新的章节。经过修订和更新的概念包括:
XML用于对象通信;
对象持久性和串行化;
XML集成到语言对象定义;
为属性增加特性;
基于XML的因特网应用;
客户/服务器技术;

媒体评论回到顶部↑

“要想创建高质量的软件,深入掌握你看似熟悉、实则没有真正理解的对象和类的各种精妙之处是必不可少的。而耍想做到这一点,请仔细研读本书。”
   ——Bill McCaxty,资深技术专家,0bject-Oriented Design in Java作者
“本书以生动有趣的风格深刻阐述了面向对象之道,很好地做到了深入浅出,不仅适合初学者,有经验的程序员也能从中获益。”
   ——coderanch.com

评论交流

共有10人开贴评论  13人参与评论  4人参与打分 查看

2人
 50%
用户平均打分
我要写评论 help如何参与评论和打分
2人
 50%
0人
 0%
0人
 0%
0人
 0%

yybyj

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-7-29 19:37:00
本书对培养面向对象思维很有帮助,我推荐给初学者的参考书之一。学习编程,面向对象思想是最难以理解的,本书写的不错。
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)

xiaominw

一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-6-27 15:31:00
本书对培养面向对象思维很有帮助,建议初学者选择
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

weihb186

三级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-8-19 16:59:00
没想象的好,不过还行
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

wyl19831016

二级评论员
该会员在china-pub购买过此书
  
发表于:2010-4-25 23:47:00
书架放不下了,便宜转让了。联系方式:一五八一一零三三八一七。
email:wyl19831016@163.com

实用技术:LINUX 安全最大化 路晓村等译 电子工业出版社 5
Installshield 应用技巧与实例 韩征 机械工业 5
UNIX编程艺术 (美)(Eric S Raymond) 译者:姜宏 何源 蔡晓俊 电子工业出版社 25
UNIX 技术手册(第三版) (美)Arnold Robbins 张龙卿 欧洋 张令军 张占军 中国电力出版社 10
写给大家看的面向对象编程书:第3版 (美)韦森菲尔德(Weisfeld, M.)著 张雷生等译 人民邮电出版社 10
InstallShield2000使用详解 刘艺 机械工业 10
Snort入侵检测实用解决方案 (美)Jack Koziol 吴溥峰 孙默 许诚 等 机械工业出版社 10
Unix系统管理 (美)Jeff Horwitz 祁力 李敬群 王大鹏 人民邮电 10
Snort 2.0入侵检测(美)Brian Caswell,Jay Beale,James C.Foster,Jeffrey Posluns 宋劲松 国防工业 10
Linux防火墙(原书第3版) (美)Steve Suehring,Robert L Ziegler 何泾沙 机械工业出版社 10
Linux防火墙 (美)Robert L Ziegler 余青霓 人民邮电出版社 10
Intel汇编语言程序设计(第四版)(美)Kip R Irvine 温玉杰 张家生 罗云彬电子工业出版社 15
高质量程序设计指南--C++/C语言(第3版) 林锐;韩永泉 电子工业出版社 15
30天打造专业红客 翟羽佳 人民邮电出版社 5
MP3播放器与U盘设计——自己动手打造心仪的个性MP3 博创科技 清华大学出版社 5
经典电子设计与实践DIY 周宝善 人民邮电出版社 5
电子制作从想法到实现 张晓东 福建科学技术出版社 5
Mac OS X从入门到精通(10.3版) [美]Todd,Stauffer,Kirk McElhearn等 毕建明 马树奇 电子工业出版社 15
E-MAIL黑客攻防 (印)法迪亚 孟庆华 电子科大 8
良性入侵/道德黑客非官方指导 (印)法迪亚 电子科大 10
GNU/Linux编程指南 K Wall M Watson M Whitis 王勇 王一川 林花军 甘泉 清华大学出版社 10
网页设计三剑客白金教程 庄王健 电子工业出版社 10
新一代PHP+MySQL+Dreamweaver网站建设典型案例 张枭 清华大学出版社 10
Visual C++项目开发实例自学手册 明日科技 人民邮电出版社 10
CMMI和集成化软件研发管理 林锐 彭国明 电子工业出版社 10
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

pf330

四级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-12-31 14:10:00
书刚收到,要慢慢品位,某些语句翻译的不是很通顺,有待提高。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共10条)