分享
 
 
 

面向对象设计原理与模式(Java版)(国外计算机科学经典教材)

面向对象设计原理与模式(Java版)(国外计算机科学经典教材)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机/网络,程序设计,Java Java Script J2EE,

作者: (美)斯科瑞著,腾灵灵,仲婷译

出 版 社: 清华大学出版社

出版时间: 2009-4-1字数:版次: 1页数: 310印刷时间:开本: 16开印次:纸张:I S B N : 9787302196716包装: 平装编辑推荐

本书特色:根据代码“优雅性”讨论设计和实现,使用小型和中型案例分析来介绍设计原理和模式,大部分设计模式均在解决某个问题的背景中引入,在每章的末尾都有大量的各种难度的练习题,便于学生温故而知新。

内容简介

本书全面介绍了Java面向对象程序设计的原理和模式,帮助解决Java程序中的设计问题。此外,该书十分注重Java面向对象程序设计的每个细节,以及继承、方法、类、设计模式等在程序设计中起到的关键作用,浓缩了Java的精华。在进行理论介绍的同时,本书十分重视实践技能的培养,一些较为综合的实例贯穿了相关的知识点,使学生理解并掌握它们在程序设计中的真正用处和在提升程序性能方面的作用。

本书不但可作为高校计算机科学专业的教材,还可作为Java程序设计人员的必备参考书。

作者简介

Dale Skrien,美国Colby大学计算机科学系的教授,研究方向为算法图形理论,面向对象设计,以及计算机音乐。

目录

第1章面向对象设计与实现的优雅性

1.1存在的问题

1.2软件工程

1.3设计优雅软件的标准

1.4 说明

1.5 练习题

1.6参考文献

第2章面向对象的基础知识

2.1面向对象编程与非面向对象编程

2.1.1面向对象编程与非面向对象编程简介

2.1.2面向对象语言

2.1.3面向对象编程的优点

2.2Java中的类、对象、变量和方法

2.3插入语:Java中的类方法和类变量

2.3.1类变量及类方法简介

2.3.2Java中的类变量及其使用

2.3.3 Java中的类方法及其使用

2.3.4 小结

2.4UML类图简介

2.5 实现继承

2.5.1特殊化

2.5.2 Java中的Obiect父类

2.5.3特殊化的另一种使用

2.5.4泛化

2.5.5Java中的单继承

2.6类型、子类型和接口继承

2.6.1类型

2.6.2多态

2.6.3多态的价值

2.7接口与抽象类

2.8动态方法调用

2.9重载与重写

2.10控制对方法和数据的访问

2.11 小结

2.12练习题

2.13参考文献

第3章优雅性与实现继承

3.1 关于继承的四个观点

3.1.1代码重用观点

3.1.2Is-A观点

3.1.3公共接口观点

3.1.4多态观点

3.2代码重用的充分性

3.3代码重用联合Is-A关系的充分性

3.4代码重用、Is-A关系以及公共接口的充分性

3.5Has-A关系和UML关联关系

3.6代码重用、Is-A关系、公共接口以及多态的充分性

3.7使用实现继承的代价

3.8示例:人、女人和男人

3.9示例:绘制多边形

3.10示例:排序

3.11Java中数组的子类化

3.12回顾:继承与引用

3.13 小结

3.14练习题

3.15参考文献

第4章优雅性与方法

4.1编码风格和命名约定

4.2方法与分解

4.3 内聚方法

4.4结构良好的对象和类不变式

4.5 内部文档

4.6外部文档

4.7案例分析:重写Java中的equals方法

4.8案例分析:重写Java中的clone方法

4.9重构

4.10代码优化

……

第5章优雅性和类

第6章Money类的简单案例研究

第7章设计模式介绍

第8章绘图应用程序案例研究

第9章语言解析器案例研究

附录AUML介绍

附录B编码约定和Javadoc注释

书摘插图

第1章面向对象设计与实现的优雅性

对于阅读本书的大学生而言,您很可能已经学习了一些计算机科学的相关课程,其中有一门对于编程的介绍性课程。经过认真的学习,您一定掌握了至少一门编程语言的基本编程概念。您学会了诸如循环、赋值和条件语句等语言结构,也学会了编写这些语言结构的一种或多种方法。您更有可能已经理解了计算机科学并不仅仅是编程而已,事实上,编程仅仅是计算机科学工作者的一种工具。

遗憾的是,因为没有时间讲解计算机科学中如此众多的主题,所以您将无法获悉解决同一问题的各种不同方法的优缺点。举例来说,在较低的层次上,存在很多种方法来实现一个结构,例如循环(比如,可以使用for循环,while循环或者递归),其中的某些方法相对而言会更加优越。在高一点的层次上,存在多种方法来实现一个任务(如归并排序或者选择排序),其中某些相比而言更为快速。再高一点的层次上,存在各种方法来将一个程序划分为诸如类或者方法的模块,其中某些分割的方法会更加合适。

我们来看一个最后那种情况的例子。请考虑这样一个问题,该问题需要编写一个模块来存储集合,该集合包括一些人以及他们各自的狗的信息。这个集合需要被保存为散列表、数组还是其他的集合形式?这个集合是需要存储Person对象还是Person-Dog这样的对象组合。Dog对象是否需要有实例变量指向其主人?而狗的主人又是否需要实例变量指向他所拥有的狗的集合?如果是的话,这又将是一个怎样的集合?这样的Person对象还需要存储哪些其他数据?如果这些人是美国公民,是否需要存储他们的社会保障号码?是否需要将这样的人的集合排序以便于查找?如果一个人的某条狗死了,是否需要将其从这个集合中删除,或是将其保留为一个没有狗的人?

很自然地,您会疑惑这些问题的答案是否真的很重要。如果两个设计,一个只有少数几个类和方法,另一个则包含很多类和方法,当这两个设计都能解决问题的时候,具体使用哪个设计是否真的很重要?类似地,如果所有版本的循环都能正确地完成计算,具体使用哪个版本是否真的很重要?如果两个算法都能正确计算,哪个运行更快是否真的很重要,尤其是在考虑到每年硬件处理速度飞速增长的情况下?

……

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有