java应用开发与实践 教学课件 刘乃琦 苏畅 第7章 类和对象

上传人:繁星 文档编号:88250606 上传时间:2019-04-22 格式:PPT 页数:46 大小:1.09MB
返回 下载 相关 举报
java应用开发与实践 教学课件 刘乃琦 苏畅 第7章 类和对象_第1页
第1页 / 共46页
java应用开发与实践 教学课件 刘乃琦 苏畅 第7章 类和对象_第2页
第2页 / 共46页
java应用开发与实践 教学课件 刘乃琦 苏畅 第7章 类和对象_第3页
第3页 / 共46页
java应用开发与实践 教学课件 刘乃琦 苏畅 第7章 类和对象_第4页
第4页 / 共46页
java应用开发与实践 教学课件 刘乃琦 苏畅 第7章 类和对象_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《java应用开发与实践 教学课件 刘乃琦 苏畅 第7章 类和对象》由会员分享,可在线阅读,更多相关《java应用开发与实践 教学课件 刘乃琦 苏畅 第7章 类和对象(46页珍藏版)》请在金锄头文库上搜索。

1、在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,http:/,本章要求:,第7章 类和对象,了解面向对象的基本概念 掌握类的定义 掌握成员变量与局部变量的定义 掌握普通方法与构造方法的定义 掌握this关键字的用途 掌握访问权限限定符的使用 掌握static关键字的用途 掌握final关键字的用途 掌握包的定义与使用 了解注解的使用,主要内容,1、面向对象编程基本概念 2、类和对象 3、注解,第7章 类和对象,7.1.1 什么是对象 7.1.2 什么是类 7.1.3 什么是封装 7.1.4 什么是继承 7.1.5 什么

2、是多态,7.1 面向对象编程基本概念,7.1.1 什么是对象,现实世界中,随处可见的一种事物就是对象。对象是事物存在的实体,比如人类、书桌、电脑、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常将对象划分为两个部分,即动态部分与静态部分。静态部分,顾名思义,就是不能动的部分,这个部分被称为“属性”。任何对象都会具备其自身属性,例如一个人,它包括高矮、胖瘦、性别、年龄等。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分),人类通过探讨对象的属性和观察对象的行为了解对象。

3、,在计算机的世界中,面向对象程序设计的思想要以对象来思考问题,首先要将现实世界的实体抽象为对象,然后考虑这个对象具备的属性和行为。例如,现在面临一只大雁要从北方飞往南方这样一个实际问题,试着以面向对象的思想来解决这一实际问题。步骤如下: (1)首先可以从这一问题中抽象出对象,这里抽象出的对象为大雁。 (2)然后识别这个对象的属性。对象具备的属性都是静态属性,例如大雁有一对翅膀、黑色的羽毛等。这些属性如图7-1所示。,(3)接着是识别这个对象的动态行为,即这只大雁可以进行的动作,例如飞行、觅食等,这些行为都是因为这个对象基于其属性而具有的动作。这些行为如图7-2所示。,(4)识别出这些对象的属性

4、和行为后,这个对象就被定义完成,然后可以根据这只大雁具有的特性制定这只大雁要从北方飞向南方的具体方案以解决问题。实质上究其本质,所有的大雁都具有以上的属性和行为,可以将这些属性和行为封装起来以描述大雁这类动物。由此可见,类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例,二者之间的关系如图7-3所示。,7.1.2 什么是类,对于单个对象而言,不能用来代表同类的对象,比如一只鸟不能称为鸟类,如果需要对同一类事物统称,就不得不说明类的概念。 类就是同一类事物的统称,如果将现实世界中的一个事物抽象成对象,类就是这类对象的统称,比如鸟类、家禽类、人类等。类是构造对象时所依赖的规范,比

5、如,一只鸟具有一对翅膀,而它可以通过这对翅膀飞行,而基本上所有的鸟都具有翅膀这个特性和飞行的技能,这样的具有相同特性和行为的一类事物就称为类,类的思想就是这样产生的。在图7-3中已经描述过类与对象之间的关系,对象就是符合某个类定义所产生出来的实例。更为恰当的描述是:类是世间事物的抽象称呼,而对象则是这个事物相对应的实体。如果面临实际问题,通常需要实例化类对象来解决。比如解决大雁南飞的问题,这里只能拿这只大雁来处理这个问题,不能拿大雁类或是鸟类来解决。,类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。例如一个鸟类,鸟类封装了所有鸟的共同属性和应具有的行为,其结构如图

6、7-4所示。 定义完鸟类之后,可以根据这个类抽象出一个实体对象,最后通过实体对象来解决相关一些实际问题。,7.1.3 什么是封装,面向对象程序设计具有以下特点: 封装性 继承性 多态性 封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用电脑,只需要使用手指敲击键盘就可以实现一些功能,用户无须知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用电脑时并不完全依赖于电脑工作原理这些细节。,采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易直接操纵此数据结构

7、,而只能执行类允许公开的数据。这样避免了外部对内部数据的影响,提高程序的可维护性。 使用类实现封装特性如图7-5所示。,7.1.4 什么是继承,类与类之间同样具有关系,如一个百货公司类与销售员类相联系,类之间这种关系被称为关联。关联是描述两个类之间的一般二元关系,例如一个百货公司类与销售员类就是一个关联,再比如学生类以及教师类也是一个关联。两个类之间的关系有很多种,继承是关联中的一种。 当处理一个问题时,可以将一些有用的类保留下来,当遇到同样问题时拿来复用。假如这时需要解决信鸽送信的问题,我们很自然就会想到图7.4所示的鸟类。由于鸽子属于鸟类,鸽子具有鸟类相同的属性和行为。便可以在创建信鸽类时

8、将鸟类拿来复用,并且保留鸟类具有的属性和行为。不过,并不是所有的鸟都有送信的习惯,因此还需要再添加一些信鸽具有的独特属性以及行为。鸽子类保留了鸟类的属性和行为,这样就节省了定义鸟和鸽子共同具有的属性和行为的时间,这就是继承的基本思想。可见软件的代码使用继承思想可以缩短软件开发的时间,复用那些已经定义好的类可以提高系统性能,减少系统在使用过程中出现错误的几率。,继承性主要利用特定对象之间的共有属性。例如,平行四边形是四边形(正方形、矩形也都是四边形),平行四边形与四边形具有共同特性,就是拥有4个边,可以将平行四边形类看作四边形的延伸,平行四边形复用了四边形的属性和行为,同时添加了平行四边形独有的

9、属性和行为,如平行四边形的对边平行且相等。这里可以将平行四边形类看作是从四边形类中继承的。在Java语言中将类似于平行四边形的类称为子类,将类似于四边形的类称为父类或超类。值得注意的是,可以说平行四边形是特殊的四边形,但不能说四边形是平行四边形,也就是说子类的实例都是父类的实例,但不能说父类的实例是子类的实例。图7.6阐明了图形类之间的继承关系。 从图7.6中可以看出,继承关系可以使用树形关系来表示,父类与子类存在一种层次关系。一个类处于继承体系中,它既可以是其他类的父类,为其他类提供属性和行为,也可以是其他类的子类,继承父类的属性和方法,如三角形即是图形类的子类同时也是等边三角形的父类。,7

10、.1.5 什么是多态,7.1.4节中介绍了继承,了解了父类和子类,其实将父类对象应用于子类的特性就是多态。依然以图形类来说明多态,每个图形都拥有绘制自己的能力,这个能力可以看作是该类具有的行为,如果将子类的对象统一看作是超类的实例对象,这样当绘制任何图形时,可以简单地调用父类也就是图形类绘制图形的方法即可绘制任何图形,这就是多态最基本的思想。 多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,就可以实例化子类的对象。由于整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类的方法即可,这样降低了维护的难度,节省了时

11、间。,7.2.1 访问权限修饰符 7.2.2 类的定义 7.2.3 成员变量的定义 7.2.4 普通方法的定义 7.2.5 局部变量的定义 7.2.6 构造方法的定义 7.2.7 方法参数的传递,7.2 类和对象,7.2.8 对象创建和使用 7.2.9 this关键字的用途 7.2.10 static关键字的用途 7.2.11 final关键字的用途 7.2.12 包的定义与使用,7.2 类和对象,访问权限修饰符用来决定类中成员变量和方法(包括构造方法)能否被其他类使用。可以将访问控制级别分成以下两类: (1)外部类级别,可以使用public或者不用修饰符。 (2)成员级别,可以使用publi

12、c、private、protected或者不用修饰符。 如果一个外部类使用public修饰符声明,则它可以被任何类使用。如果它没有任何修饰符,则只能在该类所在的包中使用。,7.2.1 访问权限修饰符,对于成员级别,同样可以使用public修饰符或者不用修饰符,并且与外部类的作用相同。此外,成员级别还可以使用另外两种修饰符:private和protected。private修饰符表示该成员仅能被外部类使用。protected修饰符表明该成员不仅能够被同包的类使用,也可以被其他包中继承了这个类的类使用。 表7-1 总结了访问权限修饰符在不同位置的访问范围。,对于一个类内部定义的成员,无论使用何种修

13、饰符都是可以被这个类访问的。在同一个包中,不管类是否存在继承关系,仅有private修饰的成员不能够被其他类使用。在不同的包中,如果两个类存在继承关系,则使用protected修饰的成员可见。在全局范围,仅有public修饰的成员可见。,通常情况下,类的定义可以依次包括如下内容: (1)访问权限修饰符,例如public、private等。 (2)类名,通常是首字母大写的英语名词。 (3)类的父类,需要使用extends关键字。一个类仅能有一个父类。 (4)类实现的接口,需要使用implements关键字。一个类可以实现多个接口,接口名之间使用逗号分隔。 (5)类体,使用大括号包围。,7.2.2

14、 类的定义,根据变量在类中声明的位置不同,可以将其进行如下分类: (1)声明在类中的变量叫做成员变量。 (2)声明在块和方法中的变量叫做局部变量。 (3)声明在方法声明中的变量叫做参数。 如果未对成员变量进行初始化,其默认初始化值如表7-2所示。,7.2.3 成员变量的定义,【例7-2-3】 在项目中创建Book类,在该类中定义书名、出版社、ISBN和价格四个成员变量。public class Book private String title; / 定义字符串保存书名 private String press; / 定义字符串保存出版社 private String ISBN; / 定义字符

15、串保存ISBN private double price; / 定义价格 在声明变量时,需要包含下面3部分内容: (1)修饰符,包括访问权限修饰符等。例如代码中的private。 (2)变量的类型,可以使用基本类型和引用类型。例如代码中的String和double。 (3)变量的名称,通常推荐使用小写的英语名词。例如代码中的title、press、ISBN和price。,在面向对象编程语言中,使用方法来实现对象之间的通信和改变对象的属性。Java中,典型的方法声明如下: public static void main(String args) 在声明方法时,只有返回值、方法名称、一对小括号和一

16、对大括号是必须的。通常情况下,方法由6部分组成,依次是: (1)修饰符,包括访问权限修饰符、静态修饰符等。例如代码中的public和static。 (2)返回值,方法运行的结果,如果没有返回值需要使用void表明。 (3)方法名称,通常使用首字母小写的英语动词。例如代码中的main。 (4)参数列表,放在小括号内,需要指明参数的类型和名称,如果不存在参数,小括号内可以为空。例如代码中的String类型数组args。这参数类型可以是基本数据类型,也可以是引用类型。对于基本数据类型,已经在第3章中介绍了,而引用类型是指由类型的实际值引用表示的数据类型。字符串和数组都属于引用类型。 (5)异常列表,使用throws关键字,在后面的章节进行讲解。 (6)方法体,放置在大括号之间的内容。,7.2.4 普通方法的定义,在方法体中,可以声明局部变量来辅助完成复杂

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

当前位置:首页 > 办公文档 > 工作范文

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