已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java编程技术基础,第一章面向对象原理与实现,我们的目标,了解软件危机了解面向过程的软件设计方法了解面向对象的软件设计方法熟悉面向对象系统的基本概念了解Java程序的基本设计方法,IT技术的发展与软件危机,随着计算机硬件技术的飞速发展,计算机的容量、速度迅速提高,计算机取得了越来越广泛的应用,这就对软件开发提出了更高的要求然而软件技术的进步却远远滞后于硬件技术的进步,人们常常无法控制软件开发的周期和成本,软件的质量总是不尽人意,经常是用之不灵、弃之可惜,有的软件甚至无法交付,这种状况人们称之为“软件危机”,面向过程的软件设计方法,为了摆脱软件危机,必须按照工程化的原则和方法来组织软件开发工作二十世纪七十年代流行的面向过程的软件设计方法,目的主要是解决面向过程语言系统的设计问题。它主要强调程序的模块化和自顶向下的功能分解在涉及大量计算的算法类问题上,从算法的角度揭示事物的特点,面向过程的分割是合适的,面向过程的软件设计方法,但是现在的软件应用涉及社会生活的方方面面,面对变动的现实世界,面向过程的设计方法暴露出越来越多的不足例如功能与数据分离,不符合人们对现实世界的认识,要保持功能与数据的相容也十分困难基于模块的设计方式,导致软件修改困难自顶向下的设计方法,限制了软件的可重用性,降低了开发效率,也导致最后开发出来的系统难以维护,面向对象的软件开发方法,为了解决结构化程序设计的这些问题,面向对象的技术应运而生。它是一种非常强有力的软件开发方法它将数据和对数据的操作作为一个相互依赖、不可分割的整体,采用数据抽象和信息隐蔽技术,力图使对现实世界问题的求解简单化它符合人们的思维习惯,同时有助于控制软件的复杂性,提高软件的生产效率,从而得到了广泛的应用面向对象的技术是目前最为流行的一种软件开发方法,面向对象,现实世界中所有的事物都是对象对象都具有某些特征,并展现某些行为,面向对象示例,公司中的不同部门都是对象,面向对象示例,按照实体在现实世界中的表现来实现将活动和属性与每一实体相关联,数据员工详细资料工资结算表票据凭证收据,活动计算工资支付工资支付帐单记帐银行交易,会计,面向对象系统的基本概念,可以这样认为:面向对象=对象+类+继承+通信如果一个软件系统是使用这样四个概念来设计和实现的,我们认为这个软件系统是面向对象的相关概念对象类抽象继承封装可重用性多态性,关于对象,现实对象存在于客观世界的实体物理对象一辆汽车、一个人、一本书概念实体一种语言、一个图形、一种管理方式程序对象构成程序的实体对象的用途帮助理解现实世界为计算机应用提供实践基础,现实对象,程序对象,计算机用户环境中的元素窗口菜单数据集合机器零件清单员工档案用户自定义的数据类型时间角度复数,对象的特征,对象有其自身的表现数据,而且可以进行某些活动,表现数据,活动,停车发动加速倒车,颜色重量年份发动机功率,关于类,类是一组具有相同数据结构和相同操作的对象的集合类建立了现实对象到程序对象的桥梁类是对一系列具有相同性质的现实对象的抽象,是对现实对象共同特征的描述程序对象都是类的实例,同一类的实例对象具有相同数据结构,但有不同的值相同操作类中的数据结构叫属性类中的操作叫方法,从现实对象到类,多边形对象,多边形类,属性顶点边的颜色填充颜色,方法绘制擦除移动,抽象为,抽象1,考察特定应用程序相关问题的某些方面的过程,Class,抽象2,数据抽象是识别特定实体的属性和方法的过程,抽象3,抽象分为两类数据抽象识别与特定的应用程序相关的属性过程抽象将注意力集中在过程的参数和返回值,而不是实现,关于继承,继承重用现有类生成新类可重用性通过继承来实现,继承的双方,超类是有其他类继承其行为的类继承其他类的类称为子类,关于封装,信息隐藏的过程有选择的数据隐藏防止意外的数据破坏更易于隔离和修复错误,封装的有选择地隐藏,封装是允许有选择地隐藏类中的属性和方法的过程,可重用性,程序可以分解为可重用的对象现有类可以和附加功能一起使用,可重用性示例,多态性,同样的函数在不同的类上有不同的行为,多态性示例,类:形状方法:绘制移动初始化,子类,什么是Java编程语言,Java是一种编程语言一种开发环境一种应用环境一种部署环境句法与C+相似,语义与SmallTalk相似用来开发applets,又用来开发applications,Java编程语言的基本特点,简单面向对象分布式健壮性安全体系结构中立可移植性解释执行高性能多线程动态,Java运行环境,编译时,.java(源代码),.class(字节码),运行时,类加载器,字节码校验器,解释器,JIT代码生成器,硬件,Java虚拟机,提供硬件平台规范解读独立于平台的已编译的字节码可当作软件或硬件来实现可在Java技术开发工具或Web浏览器上实现由保持适当类型约束的字节码形成代码大部分类型检查在编译代码时完成每个由SUN批准的JVM必须能够运行任何从属类文件,JVM为下列各项做出了定义,指令集(相当于中央处理器CPU)注册集类文件格式栈垃圾收集堆存储区,垃圾收集,可检查和释放不再需要的存储器可自动完成上述工作可在JVM实现周期中,产生意想不到的变化,字节码校验可保证,代码符合JVM规范代码不破坏系统完整性代码不会引起操作数栈上溢或下溢所有操作代码的参数类型的准确性无非法数据转换(整数到指针的转换),一个基本的Java应用程序,/我们的第一个Java应用程序/publicclassHelloWorldApppublicstaticvoidmain(Stringargs)System.out.println(HelloWorld!);,编译时的常见错误,javac:CommandnotfoundPATH变量未正确设置以包括javac编译器。javac编译器位于JDK目录下的bin目录。HelloWorldApp.java:6:Methodprintl(java.lang.String)notfoundinclassjava.io.PrintStream.System.out.printl(HelloWorld!);方法名println出现打印错误。InclassHelloWorldApp:mainmustbepublicorstatic该错误的出现是因为词static或public被放在了包含main方法的行之外,运行时的错误,cantfindclassHelloWorldApp(这个错误是在打印javaHelloWorldApp时产生的)通常,它表示在命令行中所指定的类名的拼写与filename.class文件的拼写不同。Java编程语言是一种大小写区别对待的语言。例如:publicclassHelloW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商丘市七年级生物上册期末非选择综合题测试卷及答案
- 高中物理整体法隔离法解决物理试题技巧小结及练习题
- 机械套件代加工合同
- 凯盛融英合同
- 白银铁路工程合同
- 广西钢厂螺母采购合同
- 单位拒绝提供劳务合同
- 潍坊市下学期小学六年级数学期中评估试卷
- 2026年光伏工程师(光伏发电系统设计)自测试题及答案
- 陕西钢板粮仓采购合同
- 深圳大学《现代光学》2023-2024学年第一学期期末试卷
- 金属非金属地下矿山安全生产标准化定级评分标准(2023版)
- 新能源发电技术 课件全套 于立军 第1-8章 绪论、核能利用-燃料电池技术
- 研究生学术表达能力培养智慧树知到答案2024年西安建筑科技大学、清华大学、同济大学、山东大学、河北工程大学、《环境工程》英文版和《环境工程》编辑部
- 食品经营安全管理制度目录
- QCT1067.5-2023汽车电线束和电器设备用连接器第5部分:设备连接器(插座)的型式和尺寸
- 合金固态相变全套教学课件
- ISO内审检查表(完整版)
- 电气设备安全操作培训
- 亲子乐园财务分析与预测报告
- 2024年银联商务有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论