java教材课件05java面向对象程序设计

上传人:aa****6 文档编号:50958159 上传时间:2018-08-11 格式:PPT 页数:42 大小:135KB
返回 下载 相关 举报
java教材课件05java面向对象程序设计_第1页
第1页 / 共42页
java教材课件05java面向对象程序设计_第2页
第2页 / 共42页
java教材课件05java面向对象程序设计_第3页
第3页 / 共42页
java教材课件05java面向对象程序设计_第4页
第4页 / 共42页
java教材课件05java面向对象程序设计_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《java教材课件05java面向对象程序设计》由会员分享,可在线阅读,更多相关《java教材课件05java面向对象程序设计(42页珍藏版)》请在金锄头文库上搜索。

1、第5章 Java面向对象程序设计1教学目的要求n理解java语言的面向对象技术,包括面向 对象的基本概念、面向对象的程序设计方法 ;n理解java中的类、包、对象、抽象类、接 口和面向对象的特性;n掌握Java语言中类、方法和接口的基本定 义及使用方法;n了解包的概念及打包和引入方法;n通过技能实训,掌握一般Java程序的面向对 象编程方法,达到熟练开发Java一般程序的 目的。 2本章内容n5.1 类n5.2 访问控制符与封装n5.3 继承n5.4 非访问控制符接口n5.5 Java的名字空间和包n5.6 接口35.1 类n面向对象回顾n5.1.1 类的定义 n5.1.2 类的使用n5.1.

2、3 方法重载n5.1.4 内部类 4面向对象回顾(1)-基本思想n面向对象的基本思想面向对象是一种新兴的程序设计方法,或者是 一种新的程序设计规范(paradigm),其基本思想是 使用对象、类、继承、封装、消息等基本概念来进 行程序设计。从现实世界中客观存在的事物(即对 象)出发来构造软件系统,并且在系统构造中尽可 能运用人类的自然思维方式。开发一个软件是为了 解决某些问题,这些问题所涉及的业务范围称作该 软件的问题域。其应用领域不仅仅是软件,还有计 算机体系结构和人工智能等。 5面向对象回顾(1)-基本思想n1 对象的基本概念对象是系统中用来描述客观事物的一个实体,它是构成系统 的一个基本

3、单位。一个对象由一组属性和对这组属性进行操作的 一组服务组成。 主动对象是一组属性和一组服务的封装体,其 中至少有一个服务不需要接收消息就能主动执行(称作主动服务 )。n2 类的基本概念类是具有相同属性和服务的一组对象的集合,它为属于该类 的所有对象提供了统一的抽象描述,其内部包括属性和服务两个 主要部分。在面向对象的编程语言中,类是一个独立的程序单位 ,它应该有一个类名并包括属性说明和服务说明两个主要部分。 n3 消息 消息就是向对象发出的服务请求,它应该包含下述信息:提供服 务的对象标识、服务标识、输入信息和回答信息。服务通常被称 为方法或函数。6面向对象回顾(2)-基本特性n1封装性封装

4、性就是把对象的属性和服务结合成一个独立的相同 单位,并尽可能隐蔽对象的内部细节,包含两个含义: 把对象的全部属性和全部服务结合在一起,形成一个 不可分割的独立单位(即对象)。 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成 一个边界或者说形成一道屏障,只保留有限的对外接口 使之与外部发生联系。封装的原则在软件上的反映是:要求使对象以外的部分 不能随意存取对象的内部数据(属性),从而有效的避免了 外部错误对它的“交叉感染“,使软件错误能够局部化,大大 减少查错和排错的难度。7面向对象回顾(2)-基本特性n2继承性特殊类的对象拥有其一般类的全部属性与服务,称作特殊类 对一般类的继承。 一个类可以是

5、多个一般类的特殊类,它从多个一般类中继承了 属性与服务,这称为多继承。 在java语言中,通常我们称一般类为父类(superclass,超类 ),特殊类为子类(subclass)。n3多态性对象的多态性是指在一般类中定义的属性或服务被特殊类继 承之后,可以具有不同的数据类型或表现出不同的行为。这使得 同一个属性或服务在一般类及其各个特殊类中具有不同的语义。 例如:“几何图形“的“绘图“方法,“椭圆“和“多边形“都是“几何 图“的子类,其“绘图“方法功能不同。8面向对象回顾(3)-面向对象方法学nOOAObject Oriented Analysis 面向对象的分析nOODObject Orie

6、nted Design 面向对象的设计nOOIObject Oriented Implementation 面向对象的实现 95.1.1 类的定义n类是java中的一种重要的复合数据类型, 是组成java程序的基本要素。它封装了一 类对象的状态和方法,是这一类对象的原 形。一个类的实现包括两个部分:类声明 和类体 n1类声明:类声明中包括关键字Class,类名及类的 属性。类声明的格式如下:nclassextendsimplements 10n同时,在类声明中还可以包含类的父类(超类),类所实现的接口 以及修饰符public、abstract或final,这些内容将在后面的几节中 分别介绍。n

7、由类定义可知,类定义包括关键词class、类名和类的属性。类名是 Java语言合法的标识符,类名一般具有一定的含义。n(1)类定义修饰符n类的说明性修饰符说明类的性质和访问权限,包括public、缺省修 饰符、abstract、final。关于修饰符具体含义后面详细介绍。n(2)extendsnextends说明类的父类,一般形式为extends父类名Java语言 中,如果在类说明中无extends,则隐含地假设其父类为 Java.lang.object类。115.1.1 类的定义n2类主体类主体是是Java类的主体部分,完成变量的说明以及方法的定 义及实现。在类中,用变量来说明类的状态,而用

8、方法来实现类的 行为。包含类主体的类结构如下:nn n nn通常变量在方法前定义(并不一定要求),Java语言中没有独立的函 数和过程,所有的子程序都是作为类方法定义的。如下所示:nclass className nmemberVariable Declarations nmethod Declarations 125.1.1 类的定义n3成员变量成员变量的声明方式如下:public | protected | private static final transient volatile typevariableName; /成员变 量其中,static: 静态变量(类变量);相对于实例变量

9、final: 常量transient: 暂时性变量,用于对象存档,用于对象的串行化, 见对象的串行化一节volatile: 贡献变量,用于并发线程的共享 135.1.1 类的定义n4成员方法说明成员方法定义的一般形式为:n方法修饰符 ()方法 体n方法说明是指出方法返回类型、方法名、访问权限和入口参数。n 方法修饰符n成员方法修饰符主要有public、private、protected、final、 static、abstract和synchronized共7种,前3种的访问权限、说明 形式和含义与成员变量一致。修饰符说明详见5.2、5.4节。n 方法的返回值类型nJava语言要求在成员方法说

10、明中必须指明方法返回值的类型,返回 值的类型为Java语言的任何数据类型。如果一个成员方法不需要返 回值,则其返回值的类型被说明为void。方法返回值用return语句 来实现,如果有返回值,那么return语句要带参数,并且return语 句中返回的数据类型必须与方法说明中的方法返回值的类型一致。 14n方法名n成员方法名是Java语言合法的标识符,为了提高程序的可 读性,成员方法名一般具有一定的含义。n参数列表n成员方法的参数列表是由逗号分隔的类型及参数名组成, 是可选项。类型可以是Java语言的任何数据类型。n方法体n方法体是一个方法定义的主要部分,包含了所有实现方法 功能的Java语言

11、程序代码。在方法体中可以定义局部变量 ,它的作用域仅在方法体内,当方法被执行结束之后,该 方法内部的所有局部变量也就失效了,局部变量不能与参 数列表中参数名同名。方法体用“”括起来。 15【例5-2】定义一个方法,方法功能为根据参数r的大小, 返回圆的面积。在类中赋参数r,并且输出面积值。 public class Li5_02 public static void main(String args) double k; Li5_02 mj=new Li5_02(); k=mj.area(5); System.out.println(k); public double area(int r)/

12、定义area方法,带有一 个参数 final double PI=3.14; /定义常量PI,并赋初值3.14 return PI*r*r; /根据r的值,计算面积后,返回面积值 运行结果为: 78.5165.1.1 类的定义n5.构造方法构造方法是一种特殊的方法,主要用于为类的方法中变 量赋初始值的功能。当用new创建一个类的新的对象时,构造 方法就立即执行。构造方法名字必须与类名相同。除了构造 方法,在类中不能出现与类名相同的方法。构造方法的语法 为:npublic 类名(参数列表)n语句序列;nnJava语言中每个类都有构造方法,如果一个类中没有说明该 类的构造方法,则系统将提供隐含的不

13、带任何参数的构造方 法,这个空的构造方法其实什么也不做。一旦我们定义了自 己的构造方法,Java编译器就不再添加这种缺省的构造方法 。 175.1.1 类的定义n 构造方法的特点:n构造方法没有返回值类型,甚至没有void。其修饰符只能是访问控 制修饰符,即public、private、protected中的任一个。n构造方法不能从父类中继承。n构造方法可以重载,一个类可以有任意多个构造方法。不同的构造 方法根据参数的不同状态来选择合适的构造方法。n构造方法不能直接通过方法名引用,必须通过new运算符。n在构造方法中可以调用当前类和其父类的另一个构造方法,但必须 是方法体的第一条语句。使用当前

14、类的构造方法用this来引用,使用 其父类的构造方法用super来引用。 185.1.2 对象的使用 n5.1.2.1 对象创建n在Java语言中,一个Java对象是类的一个实例,创建一个对象 就是创建类的一个实例,对象即类的实例化。new运算符用于创 建一个类的实例并返回对象的引用。对象创建包括对象声明, 实例化和初始化三方面的内容。一般格式为:ntype 对象名=new type(参数列表);n其中type为引用组合类型(包括类和接口)。该格式声明了一 个类型为type的对象。对象的声明并不为对象分配内存空间。 用运算符new为对象分配内存空间,实例化一个对象。比如:nString Use

15、rName=new String(“zhangsan”);195.1.2 对象的使用5.1.2.2 对象使用 对象的使用包括引用对象的成员变量和方法,通过运算符“”可 以实现对实例变量的访问和实例方法的调用,变量和方法还可以设 定一定的访问权限来允许或禁止其他对象对它的访问。通常有两种 途径来使用对象: 1.引用对象中的变量 引用对象的变量的一般形式为:. 2.引用对象中的方法 引用对象中的方法的一般形式为:.() 其中,参数列表是可选项。在进行对象方法的引用时,方法中参数 的个数、参数的数据类型与原方法中定义的要一致,否则编译时会 出错。 205.1.2 对象的使用n5.1.2.3 对象数组

16、n前面已经讲过,数组的元素不仅可以是基本数据类型, 也可以是对象。在实际应用中,更普遍的可能是数组元 素是对象的对象数组了。下面用CCircle类作为例子介 绍对象数组的创建和使用。如果定义CCircle类(见例 5.4源程序),那么,如何来创建和操纵CCircle类的对 象的一个数组呢?实际上,对象数组的创建与基本数据 类型的数组是一样的,分两步进行:n1.声明类类型的数组变量,并用new分配内存空间给数 组;n2.用new产生新的对象,并分配内存空间给它。 215.1.2 对象的使用5.1.2.4 对象释放n如前所述,用new来创建新的对象,此时Java便会分配内存空间给它 。如果此对象不在使用了,Java一样可回收它所占的内存空间。其作 法是,把指向该对象的值设置为null。该对象便成了无用对象,Java 系统通过垃圾回收器GC(Garb

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

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

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