Java面向对象程序设计:思想·方法·应用:微课版

价格 59.80对比
发货 广东东莞市
销量 暂无
评价 已有 0 条评价
人气 已有 4 人关注
数量
+-
库存100
 
联系方式
加关注0

新书科技

VIP   VIP会员第2年
资料未认证
保证金未缴纳

内容简介

本书基于Java语言,以案例为核心,问题求解为主线,快速深入地介绍面向对象程序设计的基本思想、方法和应用,以及GUI编程、线程、IO流等应用框架。

目录

部分Java入门 章Java及其开发环境3 1.0本章方法学导引3 1.1Java的产展3 1.1.1嵌入式项目孕育Java4 1.1.2网络小程序让Java起飞4 1.1.3Java开发平台和相关术语5 1.2Java的5 1.2.1Java需要具备跨平台能力5 1.2.2Java需要支持面向对象7 1.2.3Java要追求高可靠7 1.2.4Java需要更大的字符集10 1.3Java开发环境11 1.3.1K的下载和配置12 1.3.2Java开发工具简介13 1.3.3Java应用程序框架及其编译、运行14 本章小结15 思考与练习15 第2章从C过渡到Java16 2.0本章方法学导引16 2.1快速入门17 2.1.1Java类型概述17 2.1.2入门示例:求累加和18 2.1.3理解类和对象:汽车类的设计20 2.1.4顺序表及其应用23 2.1.5单链表及其应用28 2.2强化实践30 2.2.1二叉树及其应用30 *2.2.2树及其应用34 2.2.3班级信息管理系统1.0版39 2.2.4回顾与小结42 2.3从内存管理视角观察程序47 2.3.1Java虚拟机的内部体系结构47 2.3.2对象如何关联到方法48 2.3.3栈内存管理和堆内存管理48 2.3.4函数间的参数传递50 2.3.5再谈String和数组52 *2.4班级信息管理系统2.0版55 2.4.1输入输出的格式化55 2.4.2读文件和单项排序58 2.4.3对班级信息多种方式排序62 2.4.4对系统设计的反思63 2.5一些工具类的使用64 2.5.1计算程序运行时间64 2.5.2生成验证码、计算π66 2.5.3识别C标识符、、邮箱68 *2.6综合示例73 2.6.1示例:设计文本计算器73 2.6.2示例:游戏中玩家组队77 本章小结79 思考与练习80 第2部分面向对象程序设计 第3章面向对象程序设计基础85 3.0本章方法学导引85 3.1面向对象程序设计思想的引入86 3.1.1不得不提的结构化程序设计86 3.1.2这些问题很难用结构化方法处理88 3.1.3面向对象程序设计方法的诞生89 3.1.4面向对象程序设计方法简介90 *3.2基于对象视角开发图书借阅系统90 3.2.1需求描述90 3.2.2类的设计91 3.2.3系统数据组织92 3.2.4业务逻辑93 3.2.5系统实现94 3.2.6反思和拓展98 3.3语法认知-199 3.3.1示例:带约束的三角形99 3.3.2示例:狗嗅、狗咬人101 3.3.3示例:引用自己的成员为何出错105 3.3.4示例:构造直角三角106 3.3.5示例:禁止创建边值错误的三角形108 3.3.6示例:银行取款攻防110 3.3.7语法小结112 3.4基于抽象类和接口的编程113 3.4.1示例:设计形状智能识别器113 3.4.2抽象方法、抽象类和接口115 3.4.3示例:模拟主板集成各类板卡118 3.4.4示例:游戏兵种设计120 3.5设计模式124 3.5.1设计模式概述124 3.5.2策略模式:实现化电商计价125 3.5.3装饰模式:打印票据128 3.5.4适配器模式:拼接两个系统133 3.6OOP蕴含的思想137 3.6.1OOP视角137 3.6.2封装:让对象独立、简单和138 3.6.3继承:重用、分散复杂、语义兼容139 3.6.4多态:对象的自适应能力140 3.6.5抽象:无处不在且又140 3.7语法认知-2141 3.7.和权限141 3.7.2不可或缺的异常机制146 3.7.3比构造函数更早执行的初始化块152 3.7.4再谈内部类153 本章小结154 思考与练习155 第3部分实用技术和框架 第4章图形用户界面编程159 4.0本章方法学导引159 4.1GUI编程概述160 4.1.1字符用户界面和图形用户界面160 4.1.2认识GUI的组件160 4.1.3界面的布局161 4.1.4示例:构造用户登录界面161 4.2事件处理163 4.2.1委托事件处理模型简介163 4.2.2登录界面1.0:单击按钮事件163 4.2.3登录界面2.0:加入键盘、窗体事件165 4.2.4登录界面3.0:更简洁的实现168 4.2.5综合示例:文本框式计算器1.0169 4.3拓展实践173 4.3.1设计能设定全局字体的工具类173 4.3.2按钮式计算器175 4.3.3文本框式计算器2.0178 *4.3.4生成配货地址181 4.3.5模拟浦丰投针试验189 4.3.6实现滚动字幕192 4.4关于事件和事件处理的讨论193 本章小结194 思考与练习195 第5章线程机制196 5.0本章方法学导引196 5.1线程机制概述197 5.1.1引入线程:实现并发程序设计197 5.1.2进程与线程:两种不同粒度的并发机制197 5.1.3线程概述198 5.2线程的构造和运行200 5.2.1继承Thread类构造线程200 5.2.2用Runnable构造线程203 5.2.3其他构造线程的方式204 5.3线程的互斥机制205 5.3.1概述205 5.3.2示例:模拟银行存取款206 5.3.3示例:模拟共享打印管理208 5.3.4示例:模拟网上抢票210 5.4线程的同步机制213 5.4.1同步的含义和实现框架213 5.4.2示例:模拟生产者—消费者问题214 5.4.3示例:模拟生产线217 *5.4.4示例:并发的归并排序220 *5.5关于并发设计、应用的进一步讨论225 5.5.1并发设计策略225 5.5.2主线程、子线程、守护线程226 5.5.3定时器226 5.5.4线程组与线程池227 本章小结227 思考与练习228 第6章IO流229 6.0本章方法学导引229 6.1IO流概述230 6.1.1IO流的引入230 6.1.2IO流的基本应用框架230 6.1.3IO流类库简介233 6.2目录文件操作236 6.2.1普通文件236 6.2.2目录237 6.2.3打印目录树239 6.2.4合并文件240 6.3其他操作242 6.3.1用数据流读、写文件242 6.3.2本文编码转换243 6.3.3序列化和反序列化245 *6.3.4多线程大型文件252 本章小结254 思考与练习255 第7章网络通信256 7.0本章方法学导引256 7.1网络编程基础257 7.1.1计算机网络与Java语言257 7.1.2网络通信概述258 7.2基于网址的网络编程259 7.2.1概述259 7.2.2提取网址和远程对象信息260 7.2.3示例:设计简单的文件下载器262 7.3基于Socket的点对点通信方式264 7.3.1概述264 7.3.2点对点通信模型264 7.3.3示例:二人间的一句话通信266 7.3.4示例:二人间随意聊天269 *7.3.5示例:群聊的设计272 7.4基于数据报的端对端通信方式279 7.4.1通信模型279 7.4.2示例:二人间的一句话通信280 本章小结283 思考与练习283 第8章泛型与集合框架285 8.0本章方法学导引285 8.1认识泛型286 8.1.1泛型引入背景286 8.1.2泛型的定义和使用286 8.2泛型机制应用288 8.2.1设计自动扩容的泛型顺序表288 8.2.2对泛型顺序表加约束290 8.2.3对泛型顺序表“模糊”读写291 8.2.4面向泛型顺序表的工具类294 *8.3泛型实现机理297 8.4泛型综合应用:集合框架299 8.4.1集合框架简介299 8.4.2List应用示例301 8.4.3Set应用示例303 8.4.4Map应用示例306 8.5示例:设计泛型树的迭代器307 本章小结312 思考与练习313 第9章Java连接数据库314 9.0本章方法学导引314 9.1BC简介315 9.2MySQL的安装、使用和配置316 9.2.1MySQL的下载和安装316 9.2.2MySQL数据库基本操作316 9.2.3在IDE中设置MySQL驱动路径318 9.3通过BC操纵MySQL318 9.3.1BC操纵数据库的基本框架319 9.3.2借助BC对数据库增、删、改、查321 本章小结324 思考与练习324 0章反射机制与代理模式325 10.0本章方法学导引325 10.1反射机制概述326 10.2反射的简单应用:简单工厂模式326 10.3反射机制的剖析和应用329 10.3.1剖析反射机制329 10.3.2示例:解析给定的Class型对象331 10.3.3示例:抽象工厂模式334 10.4代理模式338 10.4.1代理模式简介339 10.4.2静态代理模式339 10.4.3动态代理模式343 本章小结346 思考与练习346 附录A课外阅读——Eclipse集成开发环境347 附录B课外阅读——软件设计者的关注354

摘要与插图

1.0本章方法学导引

【设置目的】

面向对象程序设计(Object Oriented Programming,OOP)是一种商业软件的主流开发技术。Java曾被公认为学习和实践面向对象编程方式的佳语言。本书将基于Java展开OOP的编程实践。本章期望读者对Java概况、有深入的认识和了解(而非泛泛而谈),并能对Java开发环境进行安装、配置,了解Java程序从编码到运行的整个流程。

【内容组织的逻辑主线】

首先引入Java产生的背景:嵌入式编程和网络编程,这些领域的编程为何需要新语言,需要语言具备哪些新,有哪些举措来支撑这些;之后,简单介绍K的下载、安装和配置,以及Java从编码到运行的流程,并给出一些学习建议。

【内容的和难点】

pan style="font-family: 宋体;">):理解为何说Java适合嵌入式编程和网络编程掌握Java跨平台的实现机理;理解Java为何追求高可靠,以及相关举措;掌握PathclassPath的作用和配置;掌握如何用命令行方式编译、运行Java程序。

2)难点:跨平台实现机理、沙箱机制。

1.1Java的产展

任何语言的产生都有其历史的必然。从语言设计者角度审视语言:了解语言的产生背景,以及语言开发过程中经历的各种问题,对深度理解语言的十分有益。

1.1.pan style="font-family: 宋体;">嵌入式项目孕育Java

20世纪90年代,16位单片机技术发展渐趋成熟,单片机系统迈入微控制器阶段。将价格低廉的微型芯片系统嵌入消费类电子产品(如电视机机顶盒、洗衣机、电冰箱等)中,可大幅度提升产品的智能化程度,故而备受关注。SUN公司为抢占市场先机,于199012月成立了以James Gosling为首的项目小组Green,专攻嵌入式应用系统的开发。

项目组选用当时红遍天下的C++语言来开发系统,但很快发现问题。首先,嵌入式芯片提供的存储资源十分有限,相较而言,编译后的C++程序太过庞大,芯片无法提供足够的运行空间;其次,不同厂商提供的芯片,支持的指令集和指令格式存在差异,编译后的C++程序只能在特定平台上运行。程序不能跨平台运行,将产生两大后果:必须为每一种平编程,重复的工作很多;嵌入式程序在应用时需要烧制成芯片,若芯片无法通用,会浪费资源。如某洗衣机转速和时间控制程序,针对A型平台剩余2万块芯片,而B型平台需要2万块此类型芯片,由于无法通用,只能另行烧制针对B型平台的芯片。

Green小组的许多成员都有过开发编译器的经历。面对上述问题,解决之道是定制满足需要的新语言。他们以C++为蓝本,基于嵌入式编程的特点进行大幅增删;同时吸收SmallTalkAda 等语言的经典机制,设计出小巧够用的新型语言Oak。用Oak编写的程序比较小,能够运行于嵌入式芯片;Oak是解释型的,可方便实现跨平台运行(具体机理详见1.2.1节)。

1.1.2网络小程序让Java起飞

Oak完成后,因当时市场不成熟,大单被拒,Oak被搁置。1993年,Inter开始迅猛发展,网络编程需求大增。Gosling等人发现,网络编程与嵌入式编程有着类似需求:当时网速很低,几兆的程序要花费十多分钟才能下载到本地,故小程序更具优势;网络环境中不同主机可能使用不同公司的CPU和操作系统,因此能跨平台的程序有天然的优势。Qak能应用于资源受限的芯片,当然也能应用于资源更为宽松的计算机。

认识到这些,Green项目组对Oak做了调整:设计出可嵌入网页的小应用程序机制Applet,以及支持Applet程序运行的浏览器Hot Java和虚拟机。另外,因发现Oak商标已被注册,故新语言被更名为Java。动态网页效果引起了轰动,程序小、跨平台等在当时也魅力。IBMAppleHPOracleNescape、微软等纷纷停止了自己的相关项目,转而支持Java。此,Java被业界接受,并逐步成为网络编程领域的主流语言,James Gosling常被称作“Java之父,见图1.1

举报收藏 0
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2021111040号