Java程序设计实用教程 教学课件 ppt 作者 沈昕 王爱赪 魏雪英 曲彭生 第4章

上传人:E**** 文档编号:89370446 上传时间:2019-05-24 格式:PPT 页数:62 大小:660.50KB
返回 下载 相关 举报
Java程序设计实用教程 教学课件 ppt 作者  沈昕 王爱赪 魏雪英 曲彭生 第4章_第1页
第1页 / 共62页
Java程序设计实用教程 教学课件 ppt 作者  沈昕 王爱赪 魏雪英 曲彭生 第4章_第2页
第2页 / 共62页
Java程序设计实用教程 教学课件 ppt 作者  沈昕 王爱赪 魏雪英 曲彭生 第4章_第3页
第3页 / 共62页
Java程序设计实用教程 教学课件 ppt 作者  沈昕 王爱赪 魏雪英 曲彭生 第4章_第4页
第4页 / 共62页
Java程序设计实用教程 教学课件 ppt 作者  沈昕 王爱赪 魏雪英 曲彭生 第4章_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《Java程序设计实用教程 教学课件 ppt 作者 沈昕 王爱赪 魏雪英 曲彭生 第4章》由会员分享,可在线阅读,更多相关《Java程序设计实用教程 教学课件 ppt 作者 沈昕 王爱赪 魏雪英 曲彭生 第4章(62页珍藏版)》请在金锄头文库上搜索。

1、第4章面向对象的程序设计,本章主要介绍面向对象的概念、面向对象程序设计过程、如何在Java语言中实现面向对象程序设计、类的继承和多态,以及与面向对象相关的接口和包等知识。 本章要点 4.1 使用Java语言实现“椭圆形”类 4.2 比较线段的长度 4.3 子类的变革 4.4 计算Fibonacci数列 习题 4,4.1 使用Java语言实现“椭圆形”类,在本节中将介绍面向对象的概念和如何在Java语言中实现面向对象程序设计,并且创建一个Ellipse类,然后在应用程序UseEllipse中创建两个该类的对象并对其进行一定的操作。程序运行的结果如图4-1-1所示。,图4-1-1 程序UseEll

2、ipse的运行结果,4.1 使用Java语言实现“椭圆形”类,4.1.1 面向对象的程序设计 面向对象的程序设计强调直接以实际问题中的事物为中心来思考和认识问题,并按照这些事物的特征把它们抽象为对象,作为构成软件程序的基础。面向对象的程序设计是目前软件工业的主流,绝大多数的系统程序、应用程序都是采用面向对象的思想来设计开发的。 1面向对象的概念 术语“面向对象”是由英文Object Oriented翻译而来的,简称为OO。对象的概念是面向对象技术的核心。在面向对象概念中,整个世界是由各种各样的对象(Object)组成的。世界上存在着许多类型相同的对象,也存在着许多类型不相同的对象。例如:一个桌

3、子和一个椅子是类型不同的两个对象,而甲的桌子和乙的桌子可以看作是同一类型的两个对象。在面向对象程序设计中,对象是一个由信息及对信息进行处理的描述所组成的包,是对现实世界的抽象。 虽然人们对对象的描述可能不完全相同,但是都是从两个方面来描述的:对象的状态和对象的行为。对象的状态是指描述对象的数据,它描述了对象的属性和特征,可以是系统或者用户定义的数据类型,也可以是一个抽象的数据类型。例如:手机的颜色、大小、品牌等。对象的行为是指定义在对象状态上的一组操作方法的集合,说明了对象的功能。,4.1 使用Java语言实现“椭圆形”类,在面向对象程序设计中,经常使用一些术语,下面介绍4个常用的术语。 (1

4、)对象(Object):对象是面向对象程序设计的核心,也是程序的主要组成部分。一个程序实际上就是一组对象的总和。 在现实世界中,人们面对的所有事物都可以称为对象,例如:手机、桌子、各种动物、各类草木等。在Java语言中,对象是由数据以及对数据进行处理的方法组成的,是对现实世界的抽象描述。 在面向对象程序设计中,通过对象的状态(States)和行为(Behaviors)两个方面描述对象。每一个对象都是由状态和行为两个最基本的部分组成的。虽然同一类对象的行为都是一样的,但是每个对象的状态都是独立于其他对象的。例如:发送短信是任何一部手机都具有的行为,但是每部手机的品牌、型号、颜色、重量等状态又是不

5、同的。 (2)类(Class):在客观世界中对象是大量存在的,为了便于理解和管理,通过归类的方法从一个个具体对象中抽取共同特征,就形成了类。对象是由类创建的,类是同一类型对象的集合和抽象。例如:手机有很多种类,包括西门子、索尼、松下等。它们是不同的对象,但是都属于手机类,存在着许多共同点。 在Java语言中,每一个类是一种对象类型数据,属于不同类的对象具有不同的数据类型。一个对象被称为其类的一个实例(Instance),是该类的一次实例化的结果。例如:月饼模子可以看作是月饼的类,使用模子做月饼的过程实际上就是一个实例化的过程,最终制作出的月饼是该月饼模子的一个对象。,4.1 使用Java语言实

6、现“椭圆形”类,(3)消息(Message):消息是面向对象系统中实现对象间的通信和请求任务的操作。当一个对象需要另外一个对象提供服务时,它向对方发出一个请求,而收到请求的对象会响应这个请求并完成指定的服务,这种向对象发出的请求就称为消息。消息是系统构成的基本元素,为对象提供了惟一合法的动态联系途径,使对象成为一个互相配合的有机整体。对象间传递的消息一般由3个部分组成:接受对象名、调用的操作名和参数。 (4)域(Field):域是类或者对象的状态属性的总称。它可以是普通数据类型的变量,也可以是其他类的对象。例如:在手机类中,品牌和颜色可以是String类型数据;型号可以是int类型数据。 在J

7、ava语言中使用实例变量来表达类或者对象的状态,并且这些变量必须在类方法的外边定义,作用于整个类。 (5)方法(Method):方法是类的行为属性的总称。一个类可以有多个方法,表示该类所具有的功能和操作。通过对象调用类中的方法就可以改变对象域中变量的值。例如:手机类具有开机和关机的方法,通过一个手机对象调用开机方法就可以改变对象中保存当前手机状态的实例变量的值。,4.1 使用Java语言实现“椭圆形”类,2面向对象的程序设计 早期的计算机程序设计语言经历了面向机器(Machine-Oriented)、面向过程(Procedure-Oriented)等阶段。随着计算机技术的发展,以及要解决的问题

8、越来越复杂,早期的程序设计语言已经不能适应实际的需求。从20世纪60年代末开始,陆续开发出了多个面向对象的程序设计语言,例如:C+、Java等。面向对象程序设计语言的出现带动了面向对象的程序设计方法。 面向对象的程序设计是以要解决的问题中所涉及的各种对象为主体,力求程序设计符合人们日常的思维习惯,降低问题的难度和复杂性,提高编程的效率。使用面向对象的程序设计方法来解决问题就是从实际问题中抽象并封装数据和操作的对象,通过定义其状态和操作其行为来表述对象的特征和功能。此外,还可以通过定义接口来描述对象的地位以及与其他对象的关系,最终形成一个广泛联系的可理解、可扩充、可维护及更接近于问题本来面目的动

9、态对象模型系统。 使用面向对象方法解决问题的过程可以大体划分为面向对象分析(Object Oriented Analysis,OOA)、面向对象设计(Object Oriented Design,OOD)和面向对象编程(Object Oriented Programming,OOP)三大步骤。,4.1 使用Java语言实现“椭圆形”类,(1)面向对象分析(OOA)。面向对象分析的主要作用是明确使用程序的用户、用户可以进行的操作,以及数据的输入、输出和储存,并且用标准化的面向对象模型规范地表述这些内容,最后形成面向对象分析模型,即OOA模型。 在分析问题时,要抽取所有需要的对象实体,然后确定这些

10、对象的状态和行为,以及它们之间的相互关系。一般来说,解决一个问题会涉及到多个对象,所以这些对象之间的关系一定要明确,从而反映出整个程序的功能和状态。 (2)面向对象设计(OOD)。面向对象设计是将在面向对象分析步骤中创建的OOA模型加以扩展并得到面向对象设计步骤中的OOD模型。 面向对象设计在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容,进一步扩充OOA模型。界面管理负责整个系统的人机对话界面的设计,任务管理负责处理整个程序资源管理功能的工作以及设置客户与服务器之间的接口,数据管理负责设计程序与数据库的交换方式。 面向对象设计还需要明确每个类方法的参数、返回值、功能等,以及各

11、类之间的相容性和一致性的验证,对各个类、类内成员的访问权限的严格合理性的验证,也包括验证对象类的功能是否符合用户的需求。 (3)面向对象编程(OOP)。面向对象编程就是具体的程序编写阶段,其主要过程是先选择一种合适的面向对象编程语言,再用选定的语言编写程序实现设计步骤中对各个对象的详尽描述,然后将编写好的各个类根据其关系集成为整个程序,最后通过各种实例测试找出程序的漏洞并改善程序,最终完成整个软件的开发。,4.1 使用Java语言实现“椭圆形”类,3面向对象程序设计的特点 面向对象程序设计提高了软件的生产效率和程序模块的重复使用率,并且降低了维护成本。面向对象程序设计的主要特点如下。 (1)封

12、装(Encapsulation):封装就是将对象的数据和基于数据的方法封装在一起成为一个整体类。所有的程序编写基本上都是通过创建类的对象,然后以对象为载体,进行数据交流和方法的执行。 封装是一种数据信息隐藏技术,使用者只需要知道对象中变量和方法的功能,而不必知道行为实现的细节,也就是说,类的使用者与设计者是分开的。此外,封装使得类的可重用性大为提高。 (2)多态(Ploymorphism):多态是指程序的多种表现形式。在同一个类中,同名但参数不同的多个方法(方法重载)是多态的一种表现形式。另一种表现形式是子类对父类方法的覆盖或者子类对抽象父类中的抽象方法的具体定义。 (3)继承(Inherit

13、ance):继承是指一个类拥有另一个类的所有变量和方法。被继承的类称为父类,继承了父类的所有数据和操作的类称为子类。继承使得程序结构清晰,降低编程和维护的工作量。,4.1 使用Java语言实现“椭圆形”类,(4)抽象(Abstraction):抽象是具体事物一般化的过程,即对具有特定属性的对象进行概括,从中归纳出这一类对象的共性,并从共同性的角度描述共有的状态和行为特征。 抽象包括数据抽象和方法抽象两个方面。数据抽象用来描述某类对象的共同状态;方法抽象用来描述某类对象的共同行为。 封装、多态、继承、抽象是面向对象程序设计中四个重要特点。这里,我们只阐述了他们的基本概念,后面将用实例来进一步阐述

14、。 4面向对象程序设计的优点 OOP程序设计提高了软件的生产效率和软件模块的重复使用率,降低了维护成本。与面向过程的语言相比,它有许多优点。 (1)可重复使用。可重复使用是面向对象软件开发的一个核心思路,面向对象程序设计的抽象、封装、继承、多态的四大特点都无一例外、或多或少地围绕着可重用性这个核心并为之服务。 采用可重复使用模块来构建程序,其优点是显而易见的。首先,它提高了开发效率,缩短了开发周期,降低了开发成本。在项目开发初期让专人开发一些公用的模块供大家利用就是要发挥这种优势。其次,由于采用了已经被证明为正确、有效的模块,程序的质量能够得到保证,维护工作量也相应减少。最后,采用可重复使用模

15、块来构建程序,能提高程序的标准化程度,符合现代大规模软件开发的需求。,4.1 使用Java语言实现“椭圆形”类,(2)可以扩展。可以扩展是对现代应用软件提出的一个重要要求,即要求应用软件能够很方便、容易地进行扩充和修改,这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形式和工作机制。 现代应用软件的修改更新频率越来越快,究其原因,既有用户业务发展、更迭引起的相应的软件内容的修改和扩充,也有因计算机技术本身发展造成的软件的升级换代。使用面向对象技术开发的应用程序,具有较好的可扩展性。面向对象技术的可扩展性,首先体现在它特别适合于在快速原型的软件开发方法中使用。 (3)易于管理和控制。以往

16、面向过程的开发方法是以过程或者函数为基本单元来构建整个系统的。当开发项目的规模变大时,需要的过程和函数数量成倍增多,不利于管理和控制。而面向对象的开发方法采用内涵比过程和函数丰富、复杂得多的类作为构建系统的部件,使整个项目的组织更加合理、方便。在面向对象开发方法中,把数据和其上的操作封装在一起,使得仅有该类的有限个方法才可以操纵、改变这些数据。 5面向对象的表达方式 采用面向对象思想表达现实世界中的事物,就是从事物的状态和行为两个方面来概括事物。下面以3个例子来阐述采用面向对象表达事物的方法。,4.1 使用Java语言实现“椭圆形”类,(1)采用面向对象的程序设计思想将现实世界中的人抽象为“人”类。 现实世界中所有的人可以从两个方面抽象地概括。一个方面是人的状态,另一个方面是人的行为。人的状态包括人的姓名、年龄、性别、身高及体重等。人的行为包括更改名字、年龄增加、身高增长、体重增加及体重减少等。 虽然现实世界中的人有许多种状态和行为,很难全面地

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

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

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