项目3备课讲稿

上传人:yulij****0329 文档编号:139306121 上传时间:2020-07-21 格式:PPT 页数:195 大小:4.78MB
返回 下载 相关 举报
项目3备课讲稿_第1页
第1页 / 共195页
项目3备课讲稿_第2页
第2页 / 共195页
项目3备课讲稿_第3页
第3页 / 共195页
项目3备课讲稿_第4页
第4页 / 共195页
项目3备课讲稿_第5页
第5页 / 共195页
点击查看更多>>
资源描述

《项目3备课讲稿》由会员分享,可在线阅读,更多相关《项目3备课讲稿(195页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计(Object Oriented Programming)简称(OOP),是一种新兴的程序设计方法,其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。类是Java程序中的最基本构件,即Java程序是一大堆类的集合。,下一页,项目3 Java面向对象编程,项目3 Java面向对象编程,3.1 项目概述 3.2 项目目的 3.3 项目支撑知识 3.4 项目实施 3.5 项目总结 3.6 扩展训练,3.1 项目概述,在本项目中主要学习面向对象程序设计的基本思想和面向对象的概念,类的定义,成员变量和成员方法的定义及使用,对象的创建和使用,类的继承和多态,访问控制和修饰

2、符,抽象类、接口和包的声明及实现方法。,返回,3.2 项目目的,掌握创建和使用类对象、使用包的基本方法。 .理解继承和复用的概念。 .了解接口的声明及实现方法。 .理解多态性是如何扩充和维护系统性能。,返回,3.3 项目支撑知识,如建筑师,只限于使用木、水、土等原材料搭建房屋,工作多,效率低。并且在房子需重新翻盖时,所有的原材料将没有用。但如果将水、土先烧成砖,木先制成门、窗等,盖房时使用砖、门、窗成形的原料,只需考虑不同型号的门、窗放的位置。即使已建成的房屋,需要重新翻盖,也不用从零开始,砖、门、窗等原材料都可重新再用,可提高工作效率,降低成本。这一类工程设计类似于面向对象的程序开发。,上一

3、页,下一页,返回,3.3 项目支撑知识,3.3.1项目开发背景知识 1面向对象的概述 一、面向对象的基本概念 1.对象的基本概念 对象是代表现实生活中的实物的软件编程实体,比如说银行账号,计算机用户,用户介面上的按钮,窗口菜单等。对象是由它们的状态和行为定义的。例如,一个银行账号拥有一种状态,诸如当前的收支状况,账户的所有入,允许的最小交易额等,而它的行为则包括提取,存入,收支平衡等。,上一页,下一页,返回,3.3 项目支撑知识,对象具有两方面的含义: 在现实世界中,是客观世界中的一个实体; 在计算机世界中,作为真实世界的抽象,由一个数据集以及对该数据集的操作组成。 2.类的基本概念 类:具有

4、共同属性和行为的对象集合。 类与对象的关系:类是对象的抽象,对象是类的实例。 类是一个实体,它定义了一个对象的运行方式以及在对象被创建或者说实例化的时候所包含的数据。类的作用就像一个模板,一个或者多个对象可以依照它来创建。,上一页,下一页,返回,3.3 项目支撑知识,3.消息 消息:对象之间相互请求或相互协作的途径,是要求某个对象执行某项功能操作的规格说明。 消息内容:通常包含接收方及请求接收方完成的功能信息。 发送方:发出消息,请求接收方响应。 接收方:收到消息后,经过解释,激活方法,予以响应。 消息的性质:同一对象可接收不同形式的多个消息,产生不同的响应。 同一个消息可以发给不同的对象,所

5、做出的响应可以截然不同;发送方不需要知道接收方如何对请求予以响应的。,上一页,下一页,返回,3.3 项目支撑知识,消息就是向对象发出的服务请求,它应该包含下述信息:提供服务的对象标识、服务标识、输入信息和回答信息。服务通常被称为方法或函数。 举例说明:对象是具有某种特性和某种功能的东西。将同一种类型的对象归为一个类,以类的形式描述对象的状态和功能。例如,汽车是一类,其中如小轿车、中型面包车、大货车等,可认为是对象。类是对象的抽象,对象是类的实例。那么汽车就是Java中的类,判定某一对象是否是汽车,要看它是否具有这些属性,而自行车不能叫汽车,因为它不具有发动机属性。,上一页,下一页,返回,3.3

6、 项目支撑知识,在面向对象的程序设计中,将类的特征和行为分别命名为属性和方法。例如,定义“电视机”这样一个类,如图3-1所示。 电视机的属性和方法定义如图3-2所示。 一个类中定义的方法可以被该类的对象调用,对象方法的每一调用被称作发送一个消息(message)给对象。对象间是相互独立的,通过发送消息相互影响。采用消息可以让对象的行为通过它的方法来表达。一个消息由三部分组成: 消息目标对象; 执行方法的名字;,上一页,下一页,返回,3.3 项目支撑知识,执行方法所需要的参数(parameters) 。(因Java是一个对象化的语言,对象也常被用来当作参数传递)。 方法。 表明对象所具有的行为,

7、是对象与外界的接口。一个对象的行为是由它上面的操作定义的,这些操作被叫做方法。方法可以改变一个对象的状态,创建新对象,实现实用的功能等。 作用:改变对象的属性,返回对象的属性。 二、面向对象的特点,上一页,下一页,返回,3.3 项目支撑知识,(1)封装。隐藏实现细节。例如,对象可以看作是数据及作用在这些数据上的封装体,它通过一个接口与外部进行交互,因此封装使得对象的内部实现与外部接口分离开来。这样,改变对象的内部实现并不影响使用这个对象的其他对象或应用。这种封装性也体现了一种抽象和信息隐蔽。 (2)继承性。继承是指一个子类继承父类(或称为基类)的特征(数据结构和方法)。在继承一个父类时,可以在

8、子类中增加新的数据结构和方法,也可以重定义从父类中继承下来的方法。父类的特征并不受子类的影响,反之,在理想情况下,父类的内部实现的变化不会影响子类。,上一页,下一页,返回,3.3 项目支撑知识,当然,一个子类可有多个父类,这种情况称为多继承(C+语言支持多继承)。继承带来的好处是软件的复用,使用继承可以在已有软件构件的基础上构造新的软件,从而提高软件的生产率并保证软件的质量。 简而言之,继承性是父类和子类之间共享数据和方法的机制;继承性具有传递性;继承性包括单继承和多重继承。 继承性具有以下作用:使软件系统具有开放性;更好地进行抽象与分类;增强代码的重用率;提高可维护性。,上一页,下一页,返回

9、,3.3 项目支撑知识,(3)多态性。不同的对象收到同一个消息可产生完全不同的效果,这一现象叫做多态。多态的原意是指一个实体多个形态。在面向对象程序设计中主要是指变量多态和方法多态,变量多态是指同一个变量在运行时刻标识(表示)不同类型的对象,而方法多态主要是指同一个方法做不一样的动作,例如不同类的对象接受相同的消息(方法调用),但有不一样的响应动作。多态使得消息发送者能给一组具有公共接口的对象发送相同的消息,接收者作出相应的动作。变量多态是方法多态的基础。多态通常与语言的动态绑定(Dynamic Binding)机制有关。,上一页,下一页,返回,3.3 项目支撑知识,多态的效果:用户发送一个通

10、用的消息,而实现的细节则由接收对象自行决定。 多态性的作用:增强了操作的透明性、可理解性和可扩展性;增强了软件的灵活性和重用性。 三、面向对象的优点 为什么现代程序设计语言会向面向对象编程靠拢?这是因为面向对象编程具备了几个优点,比如:代码维护方便、可扩展性好、支持代码重用技术等。这些优点是过程编程语言所不具备的。下面我们就来谈谈面向对象技术的这些优点。,上一页,下一页,返回,3.3 项目支撑知识,(1)维护简单。 模块化是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,可以在名字空间中添加一个类而不会影响该名字空间的其他成员。 (2)可扩充性。 面向对象编程从本质上

11、支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。 (3)代码重用。,上一页,下一页,返回,3.2 项目支撑知识,由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单了。事实上,任何一个编程语言的程序员都可以使用类库,类库提供了很多的功能。更令人高兴的是,可以通过提供符合需求的类来扩充这些功能。 3.3.2项目开发背景知识 2类的定义 进行Java程序设计,实际上就是定义类的过程。一个Java源程序文件往往是由许多个类组成的。从用户的角度看,Java源程序中的类分为两种。,上一页,下一页,返回,3.3 项目支撑知识,(1)

12、系统定义的类,即Java类库,它是系统定义好的类。类库是Java语言的重要组成部分。Java语言由语法规则和类库两部分组成,语法规则确定Java程序的书写规范;类库则提供了Java程序与运行它的系统软件(Java虚拟机)之间的接口。Java类库是一组由它的发明者SUN公司以及其他软件开发商编写好的Java程序模块,每个模块通常对应一种特定的基本功能和任务,且这些模块都是经过严格测试的,因而也总是正确有效的。当自己编写的Java程序需要完成其中某一功能的时候,就可以直接利用这些现成的类库,而不需要一切从头编写,这样不仅可以提高编程效率,也可以保证软件的质量。,上一页,下一页,返回,3.3 项目支

13、撑知识,(2)用户自己定义的类。系统定义的类虽然实现了许多常见的功能,但是用户程序仍然需要针对特定问题的特定逻辑来定义自己的类。用户按照Java的语法规则,把所研究的问题描述成Java程序中的类,以解决特定问题。 一个类的定义应包含两部分:类的声明和类的实体。 一、类的声明 类声明包括关键字class、类名及类的属性。类名必须是合法的标识符,类的属性为一些可选的关键字。其声明格式如下,)内参数为可选项。,上一页,下一页,返回,3.3 项目支撑知识,其中,修饰符public, abstract, final说明了类的属性,className为类名,superclassName为类的父类的名字,i

14、nterfaceNameList为类所实现的接口列表。修饰符含义如下: abstract:声明该类不能被实例化。 final:声明该类不能被继承,即没有子类。 class class name:关键字class告诉编译器表示类的声明以及类名是class Name。,上一页,下一页,返回,3.3 项目支撑知识,extends super class name:extends语句扩展super class Name为该类的父类。 implements interface Name List:声明类可实现一个或多个接口,可以使用关键字implements并在其后面给出由类实现的多个接口名字列表,各接

15、口间以逗号分隔。 二、成员变量 成员变量的声明方式如下:,上一页,下一页,返回,3.3 项目支撑知识,其中, /成员变量 static:静态变量(类变量);相对于实例变量。 final:常量。 transient:暂时性变量,用于对象存档。 volatile:贡献变量,用于并发线程的共享。 三、成员方法 方法的实现包括两部分内容:方法声明和方法体。,上一页,下一页,返回,3.3 项目支撑知识,方法声明中的限定词的含义。 static:类方法,可通过类名直接调用。 abstract:抽象方法,没有方法体。 final:方法不能被重写。 native:集成其他语言的代码。 Synchronized

16、:控制多个并发线程的访问。,上一页,下一页,返回,3.3 项目支撑知识,【例3-1】一个完整的类定义如下。,上一页,下一页,返回,3.3 项目支撑知识,3.3.3项目开发背景知识 3成员变量和成员方法 一、成员变量 成员变量是类定义中的重要组成部分,从不同的角度区分,它可以分为多种类型。 1.从变量定义的位置分 根据变量定义的位置划分,变量可以分为全局变量和局部变量。,上一页,下一页,返回,3.3 项目支撑知识,全局变量:定义在类中任何方法的外部,其作用范围为该变量所属的整个类。 局部变量:定义在类中某一方法的内部,其作用范围为该变量定义的地方起,至所属方法结束的地方为止。 【例3-2】测试全局变量的操作。,上一页,下一页,返回,3.3 项目支撑知识,上一页,下一页,返回,3.3 项目支撑知识,程序运行结果如图3-3所示。 从此例我们可以看出,全局变量作用于其所在的整个类,在确保全局变量定义在类中任何方法的外部的前提下,它可以被随处安放,即使它的定义处在该全局变量的使用处之后。如例子中的全局变量var a, var b的定义语句,完全可以把其安排在类的prim()方法定义体的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号