分享
 
 
 

写给大家看的面向对象编程书(第3版)

写给大家看的面向对象编程书(第3版)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,综合,
  品牌: Matt Weisfeld

基本信息·出版社:人民邮电出版社

·页码:266 页

·出版日期:2009年

·ISBN:7115197768/9787115197764

·条形码:9787115197764

·包装版本:3版

·装帧:平装

·开本:16

·正文语种:中文

产品信息有问题吗?请帮我们更新产品信息。

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

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

媒体推荐“要想创建高质量的软件,深入掌握你看似熟悉、实则没有真正理解的对象和类的各种精妙之处是必不可少的。而耍想做到这一点,请仔细研读本书。”

——Bill McCaxty,资深技术专家,0bject-Oriented Design in Java作者 “本书以生动有趣的风格深刻阐述了面向对象之道,很好地做到了深入浅出,不仅适合初学者,有经验的程序员也能从中获益。” ——coderanch.com

编辑推荐《写给大家看的面向对象编程书(第3版)》与众不同,用非常通俗易懂的方式,结合卓有趣味的示例,清晰透彻地阐述了面向对象的精體。书中不涉及任何特定编程语言的细节,而是把重点放在引导读者学会如何以对象的方式思考。新版本增加了许多与面向对象紧密相关的应用主题,包括XML、UML建模语言、持久对象、分布式计算和客户/服务器等,更加贴近实战。

面向对象是目前许多主流程序设计语言的核心概念,很大程度上,可以说要想学好用好一门面向对象语言,首先必须领会面向对象编程思想。

讲面向对象的书已经很多,但是理解面向对象之道对于很多人来说仍然不是容易的事情。

目录

第1章面向对象概念介绍1

1.1过程式程序设计与OO程序设计2

1.2从过程式开发转向面向对象开发4

1.2.1过程式程序设计5

1.2.2OO程序设计5

1.3对象到底是什么5

1.3.1对象数据5

1.3.2对象行为6

1.4类到底是什么9

1.4.1类是对象模板9

1.4.2属性11

1.4.3方法11

1.4.4消息11

1.5使用UML完成类图建模12

1.6封装和数据隐藏12

1.6.1接口12

1.6.2实现13

1.6.3接口/实现范型的一个实际例子13

1.6.4接口/实现范型的模型14

1.7继承15

1.7.1超类和子类16

1.7.2抽象16

1.7.3is-a关系17

1.8多态18

1.9组合20

1.9.1抽象21

1.9.2has-a关系21

1.10小结21

1.11本章使用的示例代码21

1.11.1TestPerson示例:C#.NET21

1.11.2TestPerson示例:VB.NET22

1.11.3TestShape示例:C#.NET23

1.11.4TestShape示例:VB.NET25

第2章如何以对象方式思考27

2.1了解接口与实现之间的区别28

2.1.1接口29

2.1.2实现29

2.1.3接口/实现示例29

2.2设计接口时使用抽象思维33

2.3尽可能为用户提供最小接口35

2.3.1确定用户35

2.3.2对象行为36

2.3.3环境约束36

2.3.4明确公共接口36

2.3.5明确实现37

2.4小结37

2.5参考书目38

第3章高级面向对象概念39

3.1构造函数39

3.1.1何时调用构造函数39

3.1.2构造函数中有什么40

3.1.3默认构造函数40

3.1.4使用多个构造函数41

3.1.5构造函数的设计44

3.2错误处理44

3.2.1忽略问题45

3.2.2检查问题并中止应用45

3.2.3检查问题并尝试恢复45

3.2.4抛出异常45

3.3作用域概念47

3.3.1局部属性48

3.3.2对象属性49

3.3.3类属性50

3.4操作符重载51

3.5多重继承52

3.6对象操作53

3.7小结54

3.8参考书目54

3.9本章使用的示例代码54

3.9.1TestNumber示例:C#.NET54

3.9.2TestNumber示例:VB.NET55

第4章类剖析57

4.1类名57

4.2注释58

4.3属性59

4.4构造函数60

4.5访问方法62

4.6公共接口方法63

4.7私有实现方法64

4.8小结64

4.9参考书目64

4.10本章使用的示例代码65

4.10.1TestCab示例:C#.NET65

4.10.2TestCab示例:VB.NET66

第5章类设计指导原则68

5.1真实世界系统建模68

5.2明确公共接口69

5.2.1最小公共接口69

5.2.2隐藏实现69

5.3设计健壮的构造函数(和析构函数)70

5.4在类中设计错误处理70

5.4.1对类建立文档以及使用注释71

5.4.2构建类要以合作为出发点71

5.5设计时充分考虑重用72

5.6设计时充分考虑到可扩展性72

5.6.1名字要有描述性72

5.6.2抽出不可移植的代码72

5.6.3提供一种复制和比较对象的方法73

5.6.4让作用域尽可能小73

5.6.5类应当对自己负责74

5.7设计时充分考虑可维护性75

5.7.1使用迭代76

5.7.2测试接口76

5.8使用对象持久性78

5.9小结79

5.10参考书目79

5.11本章使用的示例代码79

5.11.1TestMath示例:C#.NET79

5.11.2TestMath示例:VB.NET80

第6章利用对象实现设计81

6.1设计指导原则81

6.1.1完成适当的分析84

6.1.2建立工作陈述84

6.1.3收集需求84

6.1.4开发用户界面的原型85

6.1.5明确类85

6.1.6确定各个类的职责85

6.1.7确定类如何相互合作85

6.1.8创建类模型来描述系统85

6.2案例研究:blackjack示例86

6.2.1使用CRC卡87

6.2.2明确blackjack类88

6.2.3明确类的职责90

6.2.4UML用例:明确协作关系95

6.2.5第一轮CRC卡98

6.2.6UML类图:对象模型99

6.2.7建立用户界面原型100

6.3小结101

6.4参考书目101

第7章掌握继承和组合102

7.1重用对象102

7.2继承103

7.2.1一般化和特殊化105

7.2.2设计决策105

7.3组合107

7.4为什么封装在OO中如此重要109

7.4.1继承如何削弱封装109

7.4.2多态的一个详细例子111

7.4.3对象职责111

7.5小结115

7.6参考书目115

7.7本章使用的示例代码115

7.7.1TestShape示例:C#.NET115

7.7.2TestShape示例:VB.NET117

第8章框架与重用:使用接口和抽象类实现设计119

8.1代码:重用还是不重用119

8.2什么是框架119

8.3什么是契约121

8.3.1抽象类122

8.3.2接口124

8.3.3集成125

8.3.4编译器的证明127

8.3.5建立契约128

8.3.6系统插入点130

8.4一个电子商务例子130

8.4.1电子商务问题130

8.4.2非重用的方法131

8.4.3一个电子商务解决方案133

8.4.4UML对象模型133

8.5小结137

8.6参考书目137

8.7本章使用的示例代码138

8.7.1TestShape示例:C#.NET138

8.7.2TestShape示例:VB.NET140

第9章构建对象143

9.1组合关系143

9.2分阶段构建144

9.3不同类型的组合146

9.3.1聚集146

9.3.2关联146

9.3.3结合使用关联和聚集148

9.4避免依赖性148

9.5基数149

9.5.1多个对象关联151

9.5.2可选关联151

9.6集成示例152

9.7小结152

9.8参考书目153

第10章用UML创建对象模型154

10.1什么是UML154

10.2类图的结构155

10.3属性和方法156

10.3.1属性156

10.3.2方法157

10.4访问指示157

10.5继承158

10.6接口159

10.7组合160

10.7.1聚集160

10.7.2关联161

10.8基数161

10.9小结162

10.10参考书目163

第11章对象和可移植数据:XML164

11.1可移植数据164

11.2XML165

11.3XML与HTML166

11.4XML和面向对象语言166

11.5两个公司间共享数据167

11.6用DTD验证文档168

11.7将DTD集成到XML文档170

11.8使用层叠样式表175

11.9小结177

11.10参考书目177

第12章持久对象:串行化和关系数据库178

12.1持久对象基础178

12.2将对象保存到平面文件179

12.2.1串行化文件180

12.2.2再谈实现和接口182

12.2.3方法如何保存183

12.3串行化过程中使用XML183

12.4写至关系数据库186

12.5加载驱动程序189

12.5.1建立连接189

12.5.2SQL语句190

12.6小结192

12.7参考书目192

12.8本章使用的示例代码192

12.8.1Person类示例:C#.NET193

12.8.2Person类示例:VB.NET195

第13章对象与因特网197

13.1分布式计算的演进197

13.2基于对象的脚本语言197

13.3JavaScript验证示例200

13.4Web页面中的对象202

13.4.1JavaScript对象202

13.4.2Web页面控件204

13.4.3声音播放器205

13.4.4电影播放器205

13.4.5Flash206

13.5分布式对象和企业206

13.5.1公共对象请求代理体系结构(CORBA)207

13.5.2Web服务定义210

13.5.3Web服务代码213

13.5.4Invoice.cs214

13.5.5Invoice.vb215

13.6小结216

13.7参考书目216

第14章对象和客户/服务器应用217

14.1客户/服务器方法217

14.2专有方法217

14.2.1串行化对象代码218

14.2.2客户代码218

14.2.3服务器代码220

14.2.4运行专有的客户/服务器示例222

14.3非专有方法223

14.3.1对象定义代码223

14.3.2客户代码224

14.3.3服务器代码225

14.3.4运行非专有的客户/服务器示例227

14.4小结228

14.5参考书目228

14.6本章使用的示例代码228

14.6.1客户/服务器示例——VB.NET:对象定义代码228

14.6.2客户/服务器示例——VB.NET:客户代码229

14.6.3客户/服务器示例——VB.NET:服务器代码230

第15章设计模式232

15.1为什么研究设计模式232

15.2Smalltalk的模型/视图/控制器233

15.3设计模式的不同类型234

15.3.1创建型模式235

15.3.2结构型模式239

15.3.3行为型模式241

15.4反模式242

15.5小结243

15.6参考书目243

15.7本章使用的示例代码243

15.7.1C#.NET244

15.7.2VB.NET247

索引250

……[看更多目录]

序言这不是一本单纯讲解语法的编程书,也不是一本纯粹的概念书,作者摆脱编程书容易陷入的语法细节,从面向对象思维过程这个更高层次将面向对象的概念娓娓道来,将抽象的概念与具体的示例有机地结合在一起,让读者得以“既见树木,又见森林”。

从内容的组织上看,作者首先回答了面向对象开发中最基本的两个问题:对象是什么,类又是什么。在这个基础上,通过简明的例子清晰地展示了面向对象的重要特性:封装和数据隐藏、继承、多态和组合。为全书内容的展开铺设了一个框架。

与其他面向对象书不同的是,这本书深入分析了如何采用对象思维方式思考,逐步从基本概念过渡到高级概念后,增加了一些与面向对象概念密切相关的应用主题,包括XML、UMIL建模语言、持久存储、分布式计算和客户/服务器技术等。也许我们已经习惯于“语法一简单例子一复杂应用”的介绍模式,而这种组织方式更贴近于开发人员的学习曲线,从本书不断修订再版和持续热销可以看出,这种安排更容易让人接受。

这本书吸引我们的不光是内容上的合理取舍和结构的精巧组织,还在于作者采用了卓有趣味的示例来加深理解。作者尽可能用最简单明了的例子让读者对概念有全面、具体的了解,并且将面向对象思维的触角向外延伸,在拓宽面向对象应用领域的同时,也使读者的思路随之打开,这对于进一步地学习面向对象设计或面向对象编程大有益处。

在此深深地感谢我们的家人和朋友。在翻译过程中,他们给予了我们莫大的关心、支持和帮助。

全书主要由张雷生、刘晓兵翻译,并得到王恒、牛亚峰、苏金国、刘亮、王小振、高强、范松峰等的帮助,全体人员共同完成了本书的翻译工作,最后由张雷生、刘晓兵统稿。

由于时间仓促,且译者的水平有限,在翻译过程中难免会出现一些错误,请读者批评指正。

文摘插图:

写给大家看的面向对象编程书(第3版)

第2章 如何以对象方式思考

第1章 中,我们学习了基本的面向对象(OO)概念。本书余下的部分将更深入地分析这些概念,还将介绍另外一些概念。不管是不是OO设计,好的设计都要考虑很多因素。OO设计的基本单元是类。OO设计所期望的最终结果是一个健壮、功能完备的对象模型,换句话说,也就是一个完备的系统。

与日常生活的大多数情况一样,解决一个问题没有纯粹的对与错。同一个问题往往可能有多种不同的处理方法。所以试图设计一个O0解决方案时,不要想着一上来就完成一个完美的设计(总会有需要改进的地方)。真正需要的是进行头脑风暴,让你能从不同方向展开你的思维过程。尝试解决一个问题时,不要试图遵照任何标准或约定,因为关键就是要有创造性。

实际上,这个过程开始时,甚至不要考虑特定的编程语言。首要的是找出并解决业务问题。首先完成概念分析和设计。只有当特定技术对于解决业务问题至关重要时才去考虑它,例如,如果脱离无线技术可能无法设计一个无线网络。不过,通常有多种软件解决方案可以考虑。

因此,开始设计一个系统之前,甚至在开始设计一个类之前,先要全面地考虑这个问题,充分享受思考的快乐!这一章中,我们将研究OO方式的思维,这不仅是一门科学,更应算是一门艺术。

思维方式的任何重大改变都是非同小可的。比如,人们一直在讨论从结构化到00开发的转变。这种争论的一个副作用是产生了一个误解,认为结构化和面向对象开发是互斥的。但事实并非如此。从上一章有关包装器的讨论可以了解到,结构化和面向对象开发可以并存。实际上,编写一个OO应用时会大量使用结构化构造。我从未见过没有使用循环和if句等构造的OO代码。不过,要真正切换Noo设计确实需要多方面的努力。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有