面向对象程序设计.pptx_第1页
面向对象程序设计.pptx_第2页
面向对象程序设计.pptx_第3页
面向对象程序设计.pptx_第4页
面向对象程序设计.pptx_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计,范丰龙QQ:8125007,第1章 面向对象和Java语言,1、计算机软件的简史 2、面向对象技术的基础 3、Java介绍 4、学习Java的建议,1.1计算机计算模式的三次浪潮,基于主机的计算模式: 特征:应用程序,数据, 界面集为一体。 在主机上运行。,1.1计算机计算模式的三次浪潮,客户机/服务器(C/S)的计算模式: 特征:C界面本地数据, S应用逻辑共享数据 在客户机和服务器上运行。,1.1计算机计算模式的三次浪潮,分布式网络(B/S)计算模式 特征:B界面表示层, S业务逻辑层数据访问层 存储数据层 在异地、异构机上运行。,1.2分布式网络计算的挑战,分布式网络计算模式对软件技术的挑战: 软件开发的4A目标 Any One, Any Where, Any Time, Any Device 跨平台的互操作性 CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程 序体系规范。 WebService (SOAP+XML) SOA(Service-Oriented Architecture ),1.3多层应用软件体系结构的诞生,界面层 浏览器 分布逻辑层 客户界面控件 表示层 (JSP,ASP,CGI等) 代理层 产生:HTML,XML DHTML,WML等 业务层 业务对象和规则,数据操纵和信息转换 数据访 数据库连接, 数据I/O接口 问层 存储数 数据库系统,XML库等 据层 查询,存储优化和性能协调,1.4程序设计语言的发展,机器语言 汇编语言 高级语言 1954年,第一个完全脱离机器硬件的高级语言FORTRAN 60年代中后期,代码量迅速扩大,出现“软件危机” 1970年,第一个结构化程序设计语言Pascal 80 年代初开始面向对象的程序设计思想 90年代,新技术:Java平台、.Net 平台、XML 语言、Web Services、SOA等,目前有上百种开发语言。 开发软件: 强调集成、部署 强调面向Web应用 强调个性化服务 移动应用的兴起,移动操作系统市场占有率,1.2 Java的特点,简单性 面向对象 健壮性 安全性 解释执行 高性能 可移植,2、面向对象方法基本概念,对象 类 接口 方法与消息,2.1 对象,定义:对象是从客观事物中抽象出与系统相关的,能反映事物本质的一个实体,它是构成系统的基本单位; 如:一个手机、一辆自行车、一台电视机、一本书等.也可以是一些抽象的概念:银行账号、邮政编码、电话号码等 与面向过程不同,面向过程基本是动词,对象一般是名词 对象是问题域中事物的抽象.它反映了事物在系统中要保存的信息和所发挥的作用.系统中的一个对象在软件生命周期的各个阶段可以有不同的形式.它要经历若干演化阶段.,2.1 对象,对象具备两个特征: 状态 如手机状态有品牌、颜色、号码、价格等; 行为。 打电话、接电话、发短信、设闹钟、设音乐等。 对象所包含本质的特征称为属性,对象的行为描述称为方法。 对象只描述客观事物本质的,与系统目标相关的特征;对象将属性和方法封装为一体.属性值只能由方法访问和修改.它被隐藏在封装体内.使软件体系结构的复杂本质可隐藏于对象的单纯性中,2.2类,定义:类是具有相同属性和方法的一组对象的集合,它的作用是定义对象. 类是对象的抽象定义,对象是类的实例。类允许用其他类来定义而形成树结构.类的嵌套关系分为一般类(父类)和特殊类(子类). 类的继承: 类的继承是面向对象方法的继承性体现.它给软件开发带来的优势是: 利用类继承,程序可实现代码重用。 利用抽象类定义普通行为,无需编写实现代码。其实现代码由它的子类编写。,2.3 接口,定义:接口是对象所能接收请求内容的规范. 接口是一种抽象类,只定义了变量和方法,没有规定方法的具体实现。 接口给软件开发带来的好处是: 接口可以实现不相关类有相同的行为. 接口可指明多个类需要实现的方法. 接口可了解对象的交互界面,而不需要了解对象所对应的类.,2.4 消息,定义:向对象发出方法请求称为消息.对象通过消息进行通信. 类定义了对象的所有消息模式,也定义了该对象的所有方法. 消息包含信息有:提供方法的对象名,方法名,输入信息和应答信息. Student s = new Student(); s.GetHeight(); 消息将程序的数据流和控制流统一. 可用消息实现数据传递.,2.5 面向对象方法的基本特性:,封装性(encapsulation) 一方面表示对象的属性和方法是不可分隔的结合体. 一方面表示对象内部细节的隐蔽性. 继承性(inheritance) 继承性是面向对象技术赋予类的一种特征,即先定义一个具有一定意义的类(父类),再给此类添加一些特性以派生出一个新类(子类). 多态性(polymorphism) 对象的多态性,是同一个属性名或方法名在父类,及其子类中具有不同语义.如方法的重载。,2.6面向对象的程序设计,就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。 面向对象程序设计包括两大任务: 一是考虑客观问题中的哪些数据与操作进行封装,即将客观实体与程序的对象、类进行对应。 二是考虑对象间需要哪些消息传递才能完成需求的功能。 面向对象的编程范式: 1 决定你要的类; 2 给每个类提供完整的一组操作; 3 明确地使用继承来表现共同点。,3.Java介绍,3.1、Java起源,上世纪90年代初,SUN公司有一个叫Green的项目,目的是为家用消费电子产品开发一个分布式代码系统,这样就可以对家用电器进行控制,和他们进行信息交流。James Gosling等人基于C+开发了一种新的语言Oak.该语言是一种用于网络的精巧而安全的语言,SUN公司曾以此投标一个交互式电视项目,但结果被SGI打败,SUN准备抛弃Oak.随着互联网的发展,SUN看到了Oak在计算机网络上的广阔应用前景。于是改造Oak,在1995年5月以Java为名称正式if阿布,从此Java走向了繁荣之路。 Java的命名有一个小故事,当时Oak是以项目小组办公室外面的树而得名,由于Oak名字被其他公司注册了,必须取另外一个名字,当时小组人员在咖啡馆喝咖啡的时候,发现Java的名称,于是灵机一动,就以Java名字作为语言的名字了。,3.2 Java是什么,一种计算机编程语言 什么是语言 什么是计算机编程 一种软件开发平台 什么是软件开发 什么是开发平台(提供支撑帮助的开发工具) 一种软件运行平台 一种软件部署环境 软件部署?,3.3 Java有什么,Java分成三个版本,分别是Java标准版(JSE)、Java微缩版(JME)、和Java企业版(JEE),每个版本有自己的功能和应用方向 JSE-Java Standard Edition JME-Java Micro Edition JEE-Java Enterprise Edition 版本关系,JEE,JSE,JME,3.4 Java能干什么,桌面级应用,尤其是需要跨平台的桌面级应用 企业级应用 这是目前Java应用最广泛的一个领域,几乎是一枝独秀。包括各种行业应用、企业信息化,电子政务等。领域涉及:办公自动化OA,客户关系管理CRM,人力资源HR,企业资源计划ERP,知识管理KM,供应链管理SCM,企业设备管理EAM,产品生命周期管理PLM,面向服务体系架构SOA,商业智能BI,项目管理PM,流程管理WorkFlow等等 嵌入式设备及消费类电子产品 包括无线手持设备、智能卡、通信终端、医疗设备、信息家电(数字电视、机顶盒、电冰箱)、汽车电子设备等,尤其是手机上Java应用程序及游戏更普及。 其他的数学计算、显示图形界面、网络操作、数据库操作、文件操作等等,3.5 Java相关概念,JDK(Java software Development Kit) Java软件开发工具包。JDK是Java的核心,包括了Java的运行环境,一系列Java开发工具和java 基础类库。目前流行的JDK是Sun公司发布的JDK,除了Sun之外,其他的如IBM,BEA等都有JDK JRE(Java Runtime Environment) Java运行环境,运行Java程序所需的环境集合,包括JVM标准实现及Java核心类库,3.5 Java相关概念,Java标准组织-JCP(Java Community Process) JCP是一个开放的国际组织,成立于1995年,主要职能是发展和更新Java技术规范,参考实现(RI),技术兼容包(JCK)。Java技术和JCP两者的原创者都是Sun公司,组织成员可以提交JSR(Java Specification Request),通过讨论,认可,审核以后,将进入到下一版本的规范里面,也就是说JCP是目前技术发展事实上的控制者和领导者。 /en/home/index 公司:IBM,HP,ORACLE, ,Google,有微软么?,3.6 Java大事记,1995.5.23 Java语言诞生 1996.1 第一个JDK1.0发布 1997.2.18 JDK1.1发布 1998.12.8 Java2企业平台J2EE发布 1999.6 Sun发布三个Java版本,J2SE,J2EE,J2ME 2004.9.30 Java SE5.0发布 2006.12 JavaSE6.0发布 2011.7 Java7 发布 2012.2 Java SE 6 Update 31(稳定版),3.7 Java特点,简单的说,Java有如下特点: 简单、面向对象、平台无关、多线程、分布式、安全、高性能、可靠行、自动垃圾回收等 重点 平台无关:Java开发的程序不用修改就可以在不同的软硬件平台上运行。(Write Once,Run AnyWhere) 分布式:软件由很多个可独立执行的模块组成,这些模块分布在多台计算机上,可以同时运行,对看起来是一个整体。,3.8 构建JSE开发环境,/technetwork/java/javase/downloads/index.html 环境要求 Microsoft Windows XP Professional SP3/Vista SP1/Windows 7 Professional: 处理器:2.6 GHz Intel Pentium IV 或具有同等性能的处理器 内存:2 GB 硬盘空间:1 GB 可用硬盘空间,3.8 构建JSE开发环境,安装完成后,认识一下安装目录 1、jdk1.7.0_03(jdk) Bin Java的各类执行文件 Include 需要引入的头文件 Jre java运行环境 Lib JDK需要的资源文件和资源包 NetBeans7.1 Bin 执行文件 * 可以不用NetBeans,用记事本编辑Java应用程序,用JDK进行Java开发。,3.9 常见JDK命令,Java语言的编译器。命令语法: javac 选项 源文件名 Java语言的解释器,命令语法是: java 选项 class 命令行参数 . Java API文档生成器,命令语法: javadoc 选项 包名/文件名 Java applet 浏览器,命令语法: appletviewer -debug URL Java程序的调试器,命令语法: jdb 选项 类名,3.10 JDK的API结构,java.lang包 :基本类 java.awt包:是封装抽象窗口工具包 java.applet包:为Applet提供的所有类 java.io包:程序输入/输出文件操作的类. java.util包:提供实用程序类和集合类 javax.swing包:提供构建和管理应用程序的图形界面的轻量级的构件 /javase/7/docs/api/index.html查看API,体系结构,应用程序(Applection&Applet),编译器 Java基本API Java标准扩展API Java基本类 Java标准扩展类 Java虚拟机,解释器 移植接口 操作系统,Java 7 技术一栏,3.11 使用JDK写Java程序,1、配置环境变量 PATH: 提供给操作系统寻找Java命令工具的路径,通常是JDK安装目录bin目录 JAVA_HOME 提供给其他基于JAVA的程序使用,让他们能够找到JDK的位置,通常配置到JDK安装路径,注意,这个必须书写正确,全部大写,中间用下划线 CLASSPATH 提供程序在运行期间寻找所需资源的路径。比如类、文件、图片等 注意:在windows操作系统中,最好在classpath的配置里面,始终在前面保持.; 4、检测安装配置是否成功 方法:运行cmd,在DOS下运行javac 检验,3.12第一个Java程序-HelloWorld,1.编写Java文件,文件名为HelloWorld.java 源代码 Public class HelloWorld Public static void main(String args) System.out.println(“你好,Java我来了!”); 2、编译Java源文件成class文件 在cmd窗口,javac HelloWorld.java,3.12第一个Java程序-HelloWorld,3.运行class文件 在cmd窗口 java HelloWorld 4.查看控制台,看输出什么 注意: Java区分大小写 注意源代码的规范性 资源管理器的隐藏已知文件扩展名去掉,常见错误,1、没有正确配置path和classpath 2、Java区分大小写 3、找不到文件,3.13 Java的执行,2019/7/8,38,Compile,Hello.java,Hello.class,Runtime,Class LOader,Byte Code verifier,JIT Code generator,Interpreter,Runtime,Hardware,Network,3.13 Java的执行,1、编写代码 首先把我们想要计算机做的事情,通过Java表达出来,写成Java文件,这个过程就是编码 2、编译 写完代码之后,机器并不认识我们的Java代码,需要编译成字节码,编译之后的文件叫class文件 3、类装载 类装载的功能是为执行程序寻找和装载所需要的类。 4、字节码(byte-Code)校验编写代码 功能是对class代码进行校验,保证代码的安全性 5、解释(Interpreter)或JIT(即时 编译) 计算机不认识class文件,需要被解释器进行解释,或者通过即时编译为本地机器代码,计算机才能最终理解我们所要表达的东西。类装载的功能是为执行程序寻找和装载所需要的类。,3.14 Java技术的三大特性,1、Java虚拟机 2、垃圾回收 3、代码安全,3.14 .1虚拟机,Java虚拟机JVM(Java Virtual Machine)在Java中地位非常重要,相当于我们前面的JRE 是什么 Java虚拟机是真实机器中用软件模拟的一种想象机器。Java虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范,该规范使得Java软件独立与平台。 有什么 JVM为下列各项做出了定义 指令集(相当于CPU) 寄存器 类文件格式 栈 垃圾收集堆 存储区,3.14 .1虚拟机,能干什么 (1)通过ClassLoader 寻找和装载文件 (2)解释字节码成为指令并执行,提供class文件的运行环境 (3)进行运行期间垃圾回收 (4)提供与硬件交互的平台 是Java平台无关的保障,3.14 .2垃圾回收,什么是垃圾 在程序运行过程中,存在被分配的内存块不在被需要的情况,这些内存块就是垃圾

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论