面向对象Java语言程序设计 图形化方法PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:(美)桑德斯(Sanders,K.E.),(美)达姆(Dam,A.D.)著;王镁,新夫,李娜译
- 出 版 社:北京:机械工业出版社
- 出版年份:2006
- ISBN:7111191617
- 页数:417 页
第0章 背景知识 1
0.1 简介 1
0.2 计算机硬件 1
0.3 计算机软件 3
0.4 编程语言和Java 3
0.5 执行程序 5
0.6 编程的软件工具 5
0.7 Java中的编译器如何工作 6
0.8 编写程序的过程 7
0.9 程序不工作怎么办 9
练习题 10
自我检测题 10
小结 10
第1章 对象 13
1.1 简介 13
1.2 概念 14
1.2.1 什么是模型 14
1.2.2 如何构建模型 15
1.2.3 如何拥有相同类型的不同对象:类和实例 16
1.2.4 管理复杂性 17
1.2.5 是什么造就一个好的软件模型 18
1.3 方法 19
1.3.1 橡皮图章:声明和定义一个类 20
1.3.2 对属性建模:实例变量 21
1.3.3 对能力建模Ⅰ:构造方法 23
1.3.4 为属性赋值:赋值语句 24
1.3.5 对能力建模Ⅱ:更多有关方法的知识 25
1.3.6 UML图 27
1.4 学以致用:对象——学习Java的起点 28
1.4.1 起步 29
1.4.2 背景:图形库Wheels 29
1.4.3 分析 31
1.4.4 设计 31
1.4.5 实现 31
1.4.8 继续 32
1.4.7 测试 32
1.4.6 执行的步骤 32
小结 33
自我检测题 33
练习题 34
编程项目 37
最新风格惯例 37
第2章 带有参数的方法 39
2.1 简介 39
2.2 概念 40
2.2.1 参数 40
2.2.2 返回值 41
2.3.1 参数 42
2.3 方法 42
2.3.2 带有参数的构造方法 43
2.3.3 方法调用的调试技巧 45
2.3.4 参数、局部变量和实例变量 45
2.3.5 返回类型 48
2.3.6 方法签名和重载 49
2.4 学以致用:对象——会说话的太阳 49
2.4.1 背景:关于Wheels的更多知识 50
2.4.2 分析 51
2.4.4 实现:版本1 52
2.4.5 导入、包和库 52
2.4.3 设计 52
2.4.6 版本2:添加构造方法体 53
2.4.7 Java的内建颜色 54
2.4.8 测试版本2 54
2.4.9 把图形放到Frame中的不同位置 54
2.4.10 实现:版本3 55
2.4.11 测试版本3 56
2.5 学以致用:复合对象——雪人 56
2.5.1 分析 56
2.5.2 设计 57
2.5.3 实现:复用SunCartoon 58
2.5.4 测试:程序的第一段 58
2.5.5 实现:Hat 58
2.5.6 测试Hat:部分1 59
2.5.7 设置复合对象的位置:Hat 60
2.5.8 测试Hat(续) 61
2.5.9 组装起来:实现Snowman 62
2.5.10 测试Snowman:部分1 62
2.5.11 实现Snowman(续) 62
2.5.12 测试Snowman(续) 63
小结 63
自我检测题 64
练习题 64
编程项目 66
最新风格惯例 68
3.1 简介 69
第3章 继承 69
3.2 概念 70
3.3 方法 71
3.3.1 简单继承 71
3.3.2 覆盖继承的方法 73
3.3.3 实现abstract方法 74
3.3.4 继承属性:伪继承 76
3.3.5 方法解析 78
3.4 学以致用:继承——Blobs 79
3.4.1 背景:Wheels中的鼠标方法 80
3.4.2 分析 80
3.4.3 设计 81
3.4.4 实现:带有一个Blob的BlobApp 82
3.4.6 实现:带有一个WinkingBlob的BlobApp 83
3.4.5 测试(部分1) 83
3.4.7 测试(部分2) 84
3.4.8 实现:带有WinkingBlob和TalkativeBlob的BlobApp 84
3.4.9 最终测试 85
小结 85
自我检测题 85
练习题 86
编程项目 88
4.1 简介 91
4.2 概念 91
第4章 接口 91
4.3 方法 92
4.3.1 定义和实现接口 92
4.3.2 实现多个接口的类 93
4.3.3 扩展接口 95
4.3.4 设计选择:接口VS.abstract类 96
4.3.5 设计选择:使用多少个接口 97
4.3.6 设计选择:哪个能力放入到哪个接口中 97
4.4 学以致用:接口——一个会动的太阳 97
4.4.1 编写一个接口 98
4.4.2 编写一个实现了接口的类 99
4.4.3 实现mouseDragged方法 99
4.4.4 实现Frame:MovableSunApp 100
4.5 学以致用:接口和复合图形——一顶可移动的帽子 101
4.5.1 起步:接口和MovableHatApp 102
4.5.2 创建知道其包含者的一个部分:HatPart类 102
4.5.3 创建一个像单元一样移动的复合对象:Hat类 103
4.6 秘诀 104
4.6.1 定义类 105
4.6.2 初始化实例变量 106
4.6.3 带有默认值的实例变量 106
4.6.4 accessor和mutator 107
4.6.5 知道包含者的部分 108
小结 108
练习题 109
自我检测题 109
编程项目 110
第5章 多态 111
5.1 简介 111
5.2 概念 112
5.3 方法 114
5.3.1 继承多态 114
5.3.2 接口多态 115
5.3.3 确定调用哪个方法 116
5.4 学以致用:多态——画板 117
5.4.1 分析 118
5.4.2 设计 118
5.4.3 实现 119
5.4.4 测试 122
小结 123
自我检测题 123
练习题 124
编程项目 127
第6章 算术表达式和条件语句 129
6.1 简介 129
6.2 概念 129
6.2.1 表示数字 130
6.2.2 算术运算符 130
6.2.3 条件语句和布尔逻辑 131
6.2.5 对象相等 133
6.2.4 关系运算符 133
6.2.6 从一个yes-no选择中选取 134
6.2.7 从两种选择中选取 134
6.2.8 从多种选择中选取 134
6.2.9 何时使用条件语句 135
6.3 方法 136
6.3.1 Java中的数字 136
6.3.2 算术运算符 137
6.3.3 自增运算和自减运算 138
6.3.4 布尔运算符 139
6.3.5 关系运算符 139
6.3.6 单个选择 140
6.4 学以致用:算术表达式和条件语句——雏菊,雏菊,告诉我答案 141
小结 145
自我检测题 145
练习题 146
编程项目 148
第7章 二维图形 149
7.1 简介 149
7.2 概念 150
7.3 学以致用:窗口和图形——修改后的FirstApp 150
7.3.1 JFrame 151
7.3.2 JPanel 152
7.3.3 布局 153
7.3.4 把一个椭圆形放入到JPanel 154
7.3.5 创建一个“聪明的”椭圆形 154
7.3.6 绘制图形和Graphics对象 156
7.4 学以致用:事件和动画——弹跳的球 158
7.4.1 Java事件模型 159
7.4.2 使用事件:让球开始弹跳 163
7.4.3 旋转图形 166
7.5 学以致用:事件和复合图形——鱼缸 166
7.6 学以致用:设计——构建自己的Wheels 173
7.6.1 Java的内建图形类 173
7.6.2 新的ColorShape类 174
练习题 178
自我检测题 178
小结 178
编程项目 179
第8章 图形用户界面和事件处理 183
8.1 简介 183
8.2 概念 184
8.2.1 设计原则 184
8.2.2 设计工具 187
8.3 方法 188
8.3.1 在屏幕上排列组件:布局 189
8.3.2 组件 192
8.3.3 让程序能够响应输入:事件处理和SmartComponent 195
8.4 学以致用:GUI——一个用户控制的弹跳球 200
8.4.1 部分1:布局 201
8.4.2 ControlPanel 202
8.4.3 QuitButton 203
8.4.4 添加带有BouncingBall的BallPanel,添加颜色按钮并使它们工作 204
8.4.5 添加滑块 207
小结 209
自我检测题 210
练习题 210
编程项目 212
第9章 设计模式 215
9.1 简介 215
9.2 概念 216
9.3 方法 217
9.4 学以致用:Holder模式——绘图程序的一部分 217
9.4.1 对当前颜色建模:Holder模式 218
9.4.2 ColorHolderApp 219
9.4.3 ControlPanel类和按钮类 220
9.4.4 ColorShapePanel 221
9.5 学以致用:代理模式——赛车 222
9.6 学以致用:复合模式——太空外星人 233
小结 236
自我检测题 236
编程项目 237
练习题 237
第10章 高级算术表达式和条件语句 239
10.1 简介 239
10.2 概念 239
10.2.1 对实数建模 239
10.2.2 浮点数的运算 240
10.2.3 强制类型转换 240
10.2.4 对多重选择建模 240
10.3 方法 241
10.3.1 Java中的浮点数 241
10.3.2 浮点数的算术运算和强制类型转换 243
10.3.3 Java的Math类:static变量和方法 245
10.3.4 随机数 245
10.3.5 常量:如何、何处以及何时定义它们 246
10.3.6 对多重选择建模:嵌套条件语句 249
10.3.7 短路 250
10.3.8 switch语句 251
10.4 学以致用:浮点数、嵌套条件语句和随机数——ColorBounceApp 253
小结 257
自我检测题 257
练习题 258
编程项目 259
最新编程惯例 259
第11章 循环 261
11.1 简介 261
11.3.1 Vector 262
11.2 概念 262
11.3 方法 262
11.3.2 无限循环:while循环 265
11.3.3 Iterator 267
11.3.4 无限循环:do-while循环 268
11.3.5 有限循环:for循环 268
11.3.6 循环中的break和continue 270
11.3.7 在循环中选择 271
11.3.8 编写循环的秘诀 271
11.3.9 调试循环 273
11.3.10 控制流程 275
11.4 学以致用:循环——ButterflyApp 276
小结 280
自我检测题 281
练习题 281
编程项目 283
第12章 递归 285
12.1 简介 285
12.2 概念 286
12.3 方法 286
12.3.1 带有一个递归调用的例子:阶乘 287
12.3.2 带有多个递归调用的例子:汉诺塔 289
12.3.3 调试技巧 290
12.3.4 在迭代和递归之间选择 291
12.4 学以致用:递归——SpiralApp 293
12.5 学以致用:递归——TreeApp 297
小结 300
自我检测题 300
练习题 300
编程项目 301
第13章 数组、Vector和ArrayList 303
13.1 简介 303
13.2 概念 303
13.3 方法 304
13.3.1 声明和初始化数组、ArrayList和Vector 304
13.3.2 访问和使用元素 305
13.3.4 多维结构 306
13.3.3 作为参数传递 306
13.3.5 调试技巧:常见的数组错误 308
13.3.6 比较数组、Vector和ArrayList 308
13.3.7 主线程揭秘 309
13.4 学以致用:数组——ClickApp 310
小结 313
自我检测题 313
练习题 314
编程项目 315
第14章 数据结构 317
14.1 简介 317
14.2.1 堆栈 318
14.2 概念 318
14.2.2 队列 319
14.2.3 链表 320
14.2.4 字典 320
14.2.5 使用链表实现ADT 321
14.2.6 实例图 321
14.3 方法 323
14.3.1 Node类 323
14.3.2 StackADT接口 324
14.3.3 Stack类 324
14.3.4 QueueADT接口 326
14.3.5 Queue类 326
14.3.7 实现List和迭代器设计模式 328
14.3.6 ListADT接口 328
14.3.8 DictionaryADT接口 329
14.3.9 Dictionary类 332
14.4 学以致用:数据结构——测试程序 337
小结 339
自我检测题 339
练习题 340
编程项目 341
第15章 树 343
15.1 简介 343
15.2.1 使用树建模 344
15.2 概念 344
15.2.2 使用树高效实现字典操作 345
15.2.3 中序、先序和后序 348
15.3 方法:二叉查找树 350
15.4 学以致用:Tree——测试程序 357
小结 357
自我检测题 358
练习题 358
编程项目 358
第16章 排序和查找 359
16.1 简介 359
16.2 概念 360
16.2.2 冒泡排序 362
16.2.1 排序 362
16.2.3 插入排序 365
16.2.4 选择排序 367
16.2.5 合并排序 367
16.2.6 递推关系 369
16.2.7 查找:概述 371
16.2.8 查找:数组 371
16.2.9 查找:链表 372
16.2.10 查找:二叉树 372
16.2.11 查找:n叉树和混合树 373
16.2.12 查找:哈希表 374
自我检测题 376
小结 376
练习题 377
编程项目 378
第17章 字符串和文本I/O 379
17.1 简介 379
17.2 概念 379
17.3 方法:String 380
17.3.1 组合String 381
17.3.2 提取String的一部分 381
17.3.3 比较String 382
17.3.4 反转String 383
17.4 学以致用:String——GUI文本I/O 384
17.3.5 String类概览 384
17.4.1 简单文本I/O程序的一个模板GUI 385
17.4.2 一个简单应用程序:EchoApp 388
17.4.3 另一个应用程序:StringMethodsApp 389
17.4.4 第三个应用程序:EqualTestApp 390
小结 392
自我检测题 392
练习题 392
编程项目 393
第18章 命令行I/O、文件I/O和异常 395
18.1 简介 395
18.2.1 命令行I/O 396
18.2 概念 396
18.2.2 文件I/O 398
18.2.3 把对象存储到文件中并从文件中将它们读回 399
18.2.4 异常 399
18.3 方法 400
18.3.1 命令行I/O 400
18.3.2 异常 406
18.3.3 文件I/O 410
18.4 学以致用:文件I/O——保存和恢复对象 412
小结 416
自我检测题 416
练习题 416
编程项目 417
- 《糊涂国王摸月亮 立体图形的组合》(韩)高滋贤文 2016
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019