ImageVerifierCode 换一换
格式:PPT , 页数:73 ,大小:1.17MB ,
资源ID:1397087      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1397087.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java语言程序设计案例教程-第5章.ppt)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java语言程序设计案例教程-第5章.ppt

1、第5章 面向对象程序设计,本章主要介绍Java语言面向对象的基本概念、面向对象程序设计方法、接口和包的概念,以及域和方法的定义与实现。本章要点5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计5.3 方法的使用和对象数组5.4 类的继承和多态5.5 包和访问控制符5.6 接口思考与练习5,5.1 面向对象程序设计概述,5.1.1 什么是面向对象术语“面向对象”是由英文Object Oriented翻译而来的,简称为OO。面向对象的程序设计是目前软件工业的主流,绝大多数的系统程序、应用程序都是采用面向对象的思想来设计开发的。在面向对象概念中,整个世界是由各种各样的对象(Obje

2、ct)组成的。世界上存在着许多类型相同的对象,也存在着许多类型不相同的对象。例如:一辆自行车和一根铅笔是类型不同的两个对象,而李明的自行车和李芳的自行车可以看作是类型相同的两个对象。早期的计算机程序设计语言经历了面向机器(Machine-Oriented)、面向过程(Procedure-Oriented)等阶段。随着计算机技术的发展,以及要解决的问题越来越复杂,早期的程序设计语言已经不能适应实际的需求。从上个世纪60年代末,陆续开发出了多个面向对象的程序设计语言,例如:C+、Java等。面向对象程序设计语言的出现带动了面向对象的程序设计方法。,5.1 面向对象程序设计概述,5.1.1 什么是面

3、向对象面向对象的程序设计是以要解决的问题中所涉及的各种对象为主体,力求程序设计符合人们日常的思维习惯,降低问题的难度和复杂性,提高编程的效率。使用面向对象的程序设计方法来解决问题就是从实际问题中抽象并封装数据和操作的对象,通过定义其状态和操作其行为来表述对象的特征和功能。此外,还可以通过定义接口来描述对象的地位以及与其他对象的关系,最终形成一个广泛联系的可理解、可扩充、可维护及更接近于问题本来面目的动态对象模型系统。,5.1 面向对象程序设计概述,5.1.2 常用术语的含义在面向对象程序设计中,经常使用一些术语,下面介绍几个常用的术语。(1)对象(Object):对象是面向对象程序设计的核心,

4、也是程序的主要组成部分。一个程序实际上就是一组对象的总和。在现实世界中,人们面对的所有事物都可以称为对象,例如,电视、台灯、猫、狗、草木等等。在Java语言中,对象是由数据以及对数据进行处理的方法组成的,是对现实世界的抽象描述。在面向对象程序设计中,通过对象的状态(States)和行为(Behaviors)两个方面描述对象。每一个对象都是由状态和行为两个最基本的部分组成的。虽然同一类对象的行为都是一样的,但是每个对象的状态都是独立与其他对象的。例如:改变速度是任何一辆自行车都具有的行为,但是每辆自行车的品牌、型号、颜色、所有者等状态又是不同。,5.1 面向对象程序设计概述,5.1.2 常用术语

5、的含义(2)类(Class):对象是由类创建的,类是同一类型对象的集合和抽象。例如,汽车有很多种类,包括轿车、卡车、公共汽车等。它们是不同的对象,但是都属于车类,存在着许多共同点,例如,都可以加速、刹车等。在Java语言中,每一个类是一种对象类型数据,属于不同类的对象具有不同的数据类型。一个对象被称为其类的一个实例,是该类的一次实例化的结果。例如:月饼模子可以看作是月饼的类,使用模子做月饼的过程实际上就是一个实例化的过程,最终制作出的月饼是该月饼模子的一个对象。类还可以具有子类,子类除了具有类的所有状态和行为外,还具有自己特有的状态和行为。例如:哺乳动物类是动物类的一个子类,它除了具有动物类共

6、有的状态和行为外,还具有胎生、哺乳等哺乳动物类特有的状态和行为。,5.1 面向对象程序设计概述,5.1.2 常用术语的含义(3)域(Field):域是类或者对象的状态属性的总称。它可以是普通数据类型的变量,也可以是其他类的对象。例如,在自行车类中,品牌和颜色可以是String类型数据;型号可以是int类型数据;当前速度可以是double类型数据。在Java语言中使用实例变量来表达类或者对象的状态,并且这些变量必须在类方法的外边定义,作用于整个类。(4)方法(Method):方法是类的行为属性的总称。一个类可以有多个方法,表示该类所具有的功能和操作。通过对象调用类中的方法就可以改变对象域中变量的

7、值。例如:自行车类具有加速和减速的方法,通过一个自行车对象调用加速方法就可以改变对象中保存当前速度的实例变量的值。,5.1 面向对象程序设计概述,5.1.3 程序设计过程使用面向对象方法解决问题的过程可以大体划分为面向对象分析(Object Oriented Analysis,简称OOA)、面向对象设计(Object Oriented Design,简称OOD)和面向对象编程(Object Oriented Programming,OOP)三大步骤。(1)面向对象分析(OOA)。面向对象分析的主要作用是明确使用程序的用户、用户可以进行的操作,以及数据的输入、输出和储存,并且用标准化的面向对象模

8、型规范地表述这些内容,最后形成面向对象分析模型,即OOA模型。在分析问题时,要抽取所有需要的对象实体,然后确定这些对象的状态和行为,以及它们之间的相互关系。一般来说,解决一个问题会涉及到多个对象,所以这些对象之间的关系一定要明确,从而反映出整个程序的功能和状态。例如:自动取款机程序的使用用户包括银行和用户,它有可能涉及到的对象包括用户、帐户、自动取款机和提款卡等等。,5.1 面向对象程序设计概述,5.1.3 程序设计过程(2)面向对象设计(OOD)。面向对象设计是将在面向对象分析步骤中创建的OOA模型加以扩展并得到面向对象设计步骤中的OOD模型。面向对象设计在OOA模型的基础上引入界面管理、任

9、务管理和数据管理三部分的内容,进一步扩充OOA模型。界面管理负责整个系统的人机对话界面的设计,任务管理负责处理整个程序资源管理功能的工作以及设置客户与服务器之间的接口,数据管理负责设计程序与数据库的交换方式。面向对象设计还需要明确每个类方法的参数、返回值、功能等,以及各类之间的相容性和一致性的验证,对各个类、类内成员的访问权限的严格合理性的验证,也包括验证对象类的功能是否符合用户的需求。例如:自动取款机的OOD模型要包括用户、帐户、自动取款机的人机对话界面设计,使用自动取款机的用户和自动取款机服务器之间的操作,自动取款机服务器与数据库之间的操作等等。,5.1 面向对象程序设计概述,5.1.3

10、程序设计过程(3)面向对象编程(OOP)。面向对象编程就是具体的程序编写阶段,其主要过程是先选择一种合适的面向对象编程语言,再用选定的语言编写程序实现设计步骤中对各个对象的详尽描述,然后将编写好的各个类根据其关系集成为整个程序,最后通过各种实例测试找出程序的漏洞并改善程序,最终完成整个软件的开发。,5.1 面向对象程序设计概述,5.1.4 面向对象程序设计的特点面向对象程序设计提高了软件的生产效率和程序模块的重复使用率,并且降低了维护成本。面向对象程序设计的主要特点是:(1)封装(Encapsulation):封装就是将对象的数据和基于数据的方法封装在一起成为一个整体类。所有的程序编写基本上都

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

12、继承的类称为父类,继承了父类的所有数据和操作的类称为子类。继承使得程序结构清晰,降低编程和维护的工作量。(4)抽象(Abstraction):抽象是具体事物一般化的过程,即对具有特定属性的对象进行概括,从中归纳出这一类对象的共性,并从共同性的角度描述共有的状态和行为特征。抽象包括数据抽象和方法抽象两个方面。数据抽象用来描述某类对象的共同状态;方法抽象用来描述某类对象的共同行为。,5.2 Java语言的面向对象程序设计,5.2.1 域我们在前面介绍过域是类或者对象的状态属性的总称。它可以是普通数据类型的变量,也可以是其他类的对象类型变量。域常见的有实例变量、静态变量和最终变量3种形式。分别介绍如

13、下。1实例变量实例变量(Instance Variable)用来储存某个类对象的状态值。它必须在类内、任何方法外被定义,一般位于整个类语句体的最前端。其修饰符可以是public或者private,但是不能使用static。实例变量的使用范围是整个类,也就是说可以在类中的任意方法内被使用。实例变量是依据其对象存在的,当运行程序创建对象的同时,创建了其实例变量,当程序运行完成,对象消失,其实例变量也同时消失。,5.2 Java语言的面向对象程序设计,5.2.1 域变量name、age、gender、height和weight分别表示人的姓名、年龄、性别、身高和体重。当创建People类的对象时,每

14、个对象的实例变量也是这5个变量,只是对象之间的变量值有可能不同。如图5.3所示为创建了3个People类对象的演示效果图。,图5.3 3个People类对象,5.2 Java语言的面向对象程序设计,5.2.1 域2静态变量用修饰符static修饰的变量称为类静态变量,也叫做静态变量或者类变量。静态变量是类的变量,不属于任何一个类的具体对象实例。它不保存在某个对象实例的内存空间中,而是保存在类的内存空间的公共存储单元中。也就是说,不论一个类具有多少个对象,静态变量只有一个,任何一个类的对象访问它,取得的都是相同的数值。同样地,任何一个类的对象去修改它,也都是在对同一个内存单元进行操作。静态变量可

15、以通过类名直接访问,也可以通过对象来调用。采用这两种方法取得的结果是相同的。,5.2 Java语言的面向对象程序设计,5.2.1 域2静态变量静态变量与实例变量虽然都是在类内、类中方法之外定义的变量,但是它们有着本质的不同。(1)实例变量:一般使用private或者public作为修饰符。每个类的对象都具有一套属于自己的、在类中定义的实例变量。每个对象只能修改或者访问其自身的实例变量,不会影响其他对象的实例变量。(2)静态变量:使用static修饰符。每个类的所有对象共同拥有一套类的静态变量。类和其对象都可以修改或者访问静态变量。,5.2 Java语言的面向对象程序设计,5.2.1 域3最终变

16、量在编写程序时,可以给某些经常要使用具有特殊含义或者内容复杂的常量,取一个类似于变量名的标识符,这样就可以通过使用这个变量名称来引用其对应的常量,而不是每次直接键入常量数值。这种做法的最主要目的是使程序更加清楚,利于其他人阅读、理解。使用修饰符final修饰的变量是最终变量,其保存的数据在程序的整个执行过程中都不会改变。通常,我们在final前面再加上修饰符static,那么这个变量的实际含义就是常量。如果在定义最终变量时,没有给其赋值,则按该类型数据的默认值进行初始化。final修饰符可以修饰局部变量,也必须且只能赋值一次,它的取值在变量存在期间不会改变。此外,使用修饰符volatile修饰变量被称为易失域,通常用于进行多线程编程。这种变量可以同时被多个线程控制和修改变量值。,5.2 Java语言的面向对象程序设计,5.2.2 构造方法构造方法(Constructor Method),也称为构造函数,是一种特殊的方法。在创建对象的同时,调用这个对象所属类的构造方法来完成对象实例变量的初始化。构造方法的形式如下:public 类名(参数)语句体其中的语句体为初始化实例变量的赋值语句,可

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1