java面向对象程序设计课件、例子与实验代码完整版课件全套ppt教学教程电子讲义电子教案(最新)_文件1.ppt
《java面向对象程序设计课件、例子与实验代码完整版课件全套ppt教学教程电子讲义电子教案(最新)_文件1.ppt》由会员分享,可在线阅读,更多相关《java面向对象程序设计课件、例子与实验代码完整版课件全套ppt教学教程电子讲义电子教案(最新)_文件1.ppt(1086页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 面向对象程序设计,教学目标,比较面向对象与面向过程的程序设计 类与对象 封装与信息隐藏 继承 多态性 面向对象的建模和UML,1.1比较面向对象与面向过程程序设计,面向过程程序设计 程序由多个模块构成 程序组成单位:过程或函数 结构化程序设计: 自顶向下、逐步求精的功能分解法, 一个要解决的问题被分解成若干个子问题,每个子问题又被划分成若干个子子问题。这种自顶向下的功能分解一直持续下去,直到子问题足够简单,可以在相应的子过程中解决。 存在问题:把数据和处理数据的过程分离 可复用性差 、开发和维护都很困难。,面向过程程序设计,int max(int num1,int num2) if (
2、num1num2) return num1; else return num2; ,图1-1:自顶向下的功能分解与程序结构,面向对象程序设计,面向对象其实是现实世界模型的自然延伸。 现实世界是由一个一个对象组成; 对象之间通过消息(请求和服务)相互协作,完成系统的功能.,1.2 类与对象,面向对象程序设计: 将客观事物(或实体)看作具有属性和行为(或称服务)的对象(object),通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),而形成类(class)的概念。 程序的执行,表现为一组对象之间的交互通信。对象之间通过公共接口进行通信,从而完成系统功能。 类是相同对象的集合的描述。
3、例如,类Human就是现实世界中人(对象)的集合,我、你、他都是Human的对象。 分析类Human的所有对象人,得到对象的共同的数据属性和行为,如下所示: 数据属性:编号、姓名、年龄, 行为:吃饭、走路、跳舞, ,抽象是对具体对象进行概括,抽象出这一类对象的公共性质并加以描述的过程。 先注意问题的本质及描述,其次是实现过程或细节。,1.2 类与对象(续),定义Human类: class Human int no; String name; int age; void eat() Human被称作类名。 no,name,age被称作域(fields)或变量, eat()被称作方法(method
4、s),它们都是类的成员。,1.2 类与对象(续),在面向对象的编程语言中, 类是一个数据类型 对象是类的实例(instance)。 引用变量:具有类类型的变量被称作对象引用(object reference)。 例如,Human p1=new Human(1,“张三”,20,); p1被称作对象引用变量,new Human(1,”张三“,20,) 被称作Human的对象。,对象,对象:是用来描述现实世界中实际存在的事物的实体,它是用来构成系统的一个单位。 对象由一组属性和一组行为(操作或服务)构成。 对象具有固定的对外接口. 一组属性和操作的集合. 对象之间通过公共接口进行通信. 对象的状态:
5、 对象的属性值表示了它所处于的状态; 对象的操作是用来改变对象状态。,1.3 封装与信息隐藏,封装(Encapsulation)是面向对象方法的重要原则。 就是把对象的属性和操作(或服务)结合为一个独立的整体(系统单位),并尽可能隐藏对象的内部实现细节。 封装有两个含义: 其一,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位类。 其二,“信息隐蔽”,尽可能隐蔽对象的内部细节,对外界形成一个边界,只保留有限的对外接口使之与外部发生联系。,1.3 封装与信息隐藏(续),Java语言中,定义类时通过大括号 封装了类的成员: 域(fields)和方法(methods), 使用priv
6、ate和public等关键字来控制对类的成员的访问,其中private修饰的成员是隐藏的,而public修饰的成员则定义了类对外的公共接口。 类作为一个抽象的数据类型 允许用户从底层实现细节中抽象出来,提供给用户的是在公共接口上的上层操作。这是抽象性的含义。,1.4 继承Inheritance,继承:在已有类(父类或超类)的基础上派生出新的类(子类),新的类能够吸收已有类的属性和行为,并扩展新的能力。 继承机制中,往往从一组类中抽象出公共属性放在父类。 继承支持着软件代码的复用,是提高软件开发效率的重要因素之一。,继承的例子,例如,给定类Car、Motocycle和Truck,我们把它们的公共
7、属性放在一个称为Vehicle的公共父类中。,Vehical,Car,Motocycle,Truck,继承的例子,苹果,梨,西瓜,水果,继承的例子,Circle,Rectangle,Shape,1.4 继承(续),Java中继承的一个例子:给定一个Window类,通过继承扩展它而得到一个子类MenuWin。,class Win / Win的成员定义 class MenuWin extends Win /MenuWin新增加成员的定义 ,1.4 继承(续),继承分为: 单继承是指一个子类最多只能有一个父类。 多继承是一个子类可有二个以上的父类。 由于多继承会带来二义性,在实际应用中应尽量使用单继
8、承。Java语言中的类只支持单继承,而接口支持多继承。 如何设计继承并完成继承层次是面向对象设计和编程的核心问题。继承是多态性的前提条件。,object,Win,DialogWin,单继承,in java,Class 1,Class 4,Class 2,Class 3,多继承,in C+,单继承与多继承例子,1.5 多态性,多态性(Polymorphism): 指在超类中定义的属性或行为,被子类继承之后,可以具有不同的数据类型或表现出不同的行为。 这使得同一个属性或行为在超类及其各个子类中具有不同的语义。,本节小结,面向对象方法的显著特性 封装性、抽象性、继承性和多态性 将面向对象设计方法应用
9、于程序的开发工具和开发过程中,不仅可以加快开发的速度,还可极大地增强程序的可维护性和可扩展性,提高代码重用率。,1.6 面向对象的建模和UML,统一建模语言(Unified Modeling Language,UML)是一种流行的建模语言。 UML是一种图形化语言,允许系统构造人员(即软件设计师、系统工程师、程序员等)用一种通用表示法描述系统的需求以及面向对象的分析和设计结果。,1.6 面向对象的建模和UML(续),作为一个建模语言, UML由一个用于表达模型的词汇表和一个定义怎样组合词汇的语法规则构成,即: UML = UML词汇表 + UML建模的语法规则 UML词汇表 = UML 事物+
10、 关系+ 模型图。 UML 事物(Thing):就是被模拟的实体或对象。事物可能是包、类、接口等等。 事物之间的语义上的联系:用关系表示,UML中共有4种关系,它们是:依赖关系、关联关系、泛化关系和实现关系。 从软件的体系结构出发,UML把软件模型分成了四个视图:用例视图、逻辑视图、实现视图和分布视图。 在本书的有关章节中,案例分析和设计的结果用UML图形化表示,使读者对UML有一个感性化认识。,小结,比较了面向过程程序设计与面向对象程序设计方法各自的特点。 面向对象编程和设计关键性的概念: 类是一组对象集合的描述。 对象是类的一个特例,对象通过接口交互; 引用变量的类型是某个类的变量,其值是
11、对象的地址(或称做指向一个对象)。 封装性、抽象性、继承性和多态性必须在以后的程序设计中体现。 UML是面向对象的建模语言。,作业,书上本章习题中: 2 3 4 5,程序设计语言Java,主讲老师:张桂珠 Email:,第2章 Java概述和人门程序,教学目标,Java语言历史、发展和特点 Java类库 Java开发环境 JDK 下载、安装与使用 Java集成开发环境 Java程序类型及简单例子 应用程序 小应用程序applet,2.1 Java历史及发展,1991年由James Gosling负责开发的一个分布式代码系统(Oak),最初是为家用消费电子产品(电冰箱、电视机等)进行编程控制 。
12、 1993年Sun 公司将目标市场转向 Internet 。1994年将Oak语言更名为Java。 1995年Java被正式发布,之后立即引起极大的轰动。,2.1 Java历史及发展,现在Java用于: 开发大型企业的应用程序; 增强WWW服务器的功能; 动画游戏的设计,包括图形图像的调用; 为消费类设备(如手机、传呼机和移动设备等)提供应用程序。,2.2 Java语言特点,Java语言特点: 简单性、 面向对象、 平台无关、可移植、解释型、高性能、动态性、 可靠、安全、 多线程、 分布式处理等。,Java语言特点,1. 简单性,系统精简,但功能齐备。 风格类似于C+,对C+程序员而言非常容易
13、掌握。 Java摒弃了C+中容易引发程序错误的地方,如指针操作和内存管理; 提供丰富的类库。,Java语言特点,2面向对象 Java语言是纯面向对象的语言, 程序的结构:由一个以上的类组成。,完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,Java语言特点,3平台无关性 用Java写的应用程序不用修改就可在不同的软硬件平台上运行。 Java靠Java虚拟机(Java Virtual Machine,JVM)实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚拟机的机器指令,并有自己的栈、寄存器组等。,Java语言特点,在JVM上,有一个Java解释
14、器用来解释Java编译器编译后的程序。 Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码(Byte Code)。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。,通过JVM以及JRE将其转成本地机器代码,,Java程序运行环境,编译时,.,Java源程序,(.java文件),.,Java Bytecode,(.class文件),运行时,Bytecode加载器,字节码校验器,解释器,JIT代码 生成器,硬件,网络,JIT (Just In Time),Java与传统语言的不同运行机制,Java语言特点,4.可
15、移植性 5.解释性 6.高性能 7.动态性,Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,而与体系结构无关。,Java编译器将java源文件生成类文件.class,类文件可通过java命令解释执行,将Java字节码转换为机器码。,JIT编译器。可以提高 Java 代码的执行速度。,允许程序动态地装入运行过程中所需要的类。,Java语言特点,8可靠性和安全性,Java语言提供的安全。 编译器提供的安全。 字节码校验。 类装载。,Java是强类型语言; Java不支持指针,这杜绝了内存的非法访问; Java的自动单元收集防止了内存丢失等动态内存分配导致的问题; Jav
16、a解释器运行时实施检查,可以发现数组和字符串访问的越界; Java提供了异常处理机制,使程序从错误状态中恢复。 当Java字节码进入解释器时,首先必须经过字节码校验器的检查,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。 最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。,Java语言特点,9多线程,内置多线程功能,使得在一个程序里可同时执行多个小任务。带来的好处是更好的交互性和实时控制性。,Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。 多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。 通
17、过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。,Java语言特点,10分布式处理,支持TCP/IP协议。,分布式包括: 数据分布:指数据可以分散在网络的不同主机上, 操作分布:指把一个计算分散在不同主机上处理。 Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。 Java数据分布: Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。 Java操作分布: Java的applet小程序可以从服务器下载到客户端,即部分计算
18、在客户端进行,提高系统执行效率。,2.3 Java 类库,Java类库也称作Java API (Application Programming Interface)。 在学习Java时,实际上学习内容分成两部分。 第一部分是Java语言本身,以便编写自己的类; 第二部分学会扩展Java类库的类。 本书通过例子讨论了Java的大量类库的使用。,2.3 Java 类库,Java中的包: Java为编写应用程序提供了丰富的预定义类库,这些预定义类库按相关类的范畴进行了分组,这些分组被称作包(package). 一个包是一个已命名的类的集合,一个包还可以包含其他的子包。Java所有的包被称为Java应
19、用程序接口API。Java API包分成: 核心包(以java开头的包) 和可选包(以javax开头的包) 核心包和可选包一般被包含Java开发工具包中。,2.3 Java 类库,JDK中的一些重要的包: java.lang: 提供支持Java的基础类。 java.util: 提供实用方法和数据结构的类。 java.awt : javax.swing: java.applet: 创建小应用程序提供必要的元件 java.io : 提供输入、输出流支持。 : 提供支持联网的类。,提供图形用户界面编程的类库集合。,2.4 Java开发环境,Java开发环境: 使用JDK工具集(Java Develo
20、pers Kits,JDK),是一种命令行的方式。 使用集成环境IDE(Integrated Developed Environment)。 我们将通过程序例子分别介绍它们的使用方法。,JDK 下载、安装与使用,JDK可从 网站免费下载,在这里下载适合于我们计算机操作系统的JDK。 如Window操作系统下, 我们下载JDK的开发工具“jdk-6u5-windows-i586-p.exe ” 和JDK的开发文档“jdk-6-doc.zip ”(帮助文档)。 Window操作系统下安装时,直接运行 “jdk-6u5-windows-i586-p.exe ”, 按照安装向导进行安装。 解开“jdk
21、-6-doc.zip ”,得到JDK的开发文档。,JDK 安装与使用,安装JDK后产生主要的目录结构如下: bin目录:Java开发工具,包括Java编译器、解释器、applet解释器等 demo目录:一些实例程序 lib目录:Java开发类库 jre目录: Java运行环境,包括Java虚拟机、运行类库等,JDK 安装与使用,Java开发工具包括的文件有 : ljavac:Java编译器,用来将java程序编译成Bytecode。 ljava: Java解释器,执行已经转换成Bytecode的java 应用程序。 l jdb: Java调试器, 用来调试java程序。 l javap:反编译
22、,将类文件还原回方法和变量。 l javadoc:文档生成器,创建HTML文件。 l appletviwer:applet解释器, 用来解释已经转换成Bytecode的Java小应用程序。,JDK 安装与使用,安装完JDK后,必须设置环境变量PATH和CLASSPATH。 PATH环境变量指定Java工具的路经, CLASSPATH环境变量是指定类的路经。 假如:JDK安装在目录: C:Program FilesJavajdk1.6.0_05bin, 用户的Java类文件放在目录下: D:javaExamples, 则环境变量设置如下: PATH= ;C:Program FilesJavajd
23、k1.6.0_05bin; CLASSPATH= D:javaExamples,Java集成开发环境,Java开发领域的集成开发环境IDE: JCreator、 Eclipse、 JBuilder、 Visual J+、 NetBean等。 具体选用哪种开发工具要视项目的具体情况而定。对于初学者而言,集成开发环境的界面不能太复杂。适合于初学者学习的,应该是界面简单一些,最好是不需要对开发环境做很多的设置的软件。,JCreator的介绍,JCreator。它为用户提供了相当强大的功能,例如项目管理功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完全可自定义的用
24、户界面。 通过JCreator,你不用激活主文档而直接编绎或运行你的Java程序。JCreator能自动找到包含主函数的文件或包含applet的Html文件,然后它会运行适当的工具。 JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与你机器中所装的JDK完美结合,是其它任何一款IDE所不能比拟的。,JCreator的安装,JCreator的下载地址: 安装JCreator前,必须机器上预先安装好JDK。 安装JCreator时,运行setup.exe文件并按照提示输入参数。安装完毕后,在Window程序组产生程序项JCreator PRO。运行JCreat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 程序设计 课件 例子 实验 代码 完整版 全套 ppt 教学 教程 电子 讲义 教案 最新 文件
链接地址:https://www.taowenge.com/p-4270396.html
限制150内