JAVA大学教学课件第二章面向对象程序设计.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《JAVA大学教学课件第二章面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《JAVA大学教学课件第二章面向对象程序设计.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主讲教师主讲教师:xxxxxx Java语言程序设计语言程序设计第二章第二章:面向对象程序设计面向对象程序设计2.1 面向对象的程序设计方法面向对象的程序设计方法-1 一、面向过程的程序设计方法 以前,人们把程序看成是处理数据的一系列过程。过程或函以前,人们把程序看成是处理数据的一系列过程。过程或函数定义为一个接一个执行的一组指令。数据与程序分开存储,编数定义为一个接一个执行的一组指令。数据与程序分开存储,编程的主要技巧在于追踪哪些函数调用哪些函数;哪些数据发生了程的主要技巧在于追踪哪些函数调用哪些函数;哪些数据发生了变化。为解决其中可能存在的问题,结构化编程变化。为解决其中可能存在的问题,结
2、构化编程(1969(1969年年)应运而应运而生。生。结构化程序设计的主要思想是功能分解并逐步求精。当一些结构化程序设计的主要思想是功能分解并逐步求精。当一些任务十分复杂以至无法描述时,可以将它拆分为一系列较小的功任务十分复杂以至无法描述时,可以将它拆分为一系列较小的功能部件,直到这些自完备的子任务小到易于理解的程度。能部件,直到这些自完备的子任务小到易于理解的程度。2.1 面向对象的程序设计方法面向对象的程序设计方法-2 一、面向过程的程序设计方法 例如,计算一个公司中每一个职员的平均工资是一项较为复杂的任务。例如,计算一个公司中每一个职员的平均工资是一项较为复杂的任务。可以将其拆分为以下的
3、子任务:可以将其拆分为以下的子任务:(1 1)计算职员总数)计算职员总数 (2 2)计算工资总额)计算工资总额 (3 3)用工资总额除以职员总数)用工资总额除以职员总数 计算工资总额本身又可分为一系列子任务:计算工资总额本身又可分为一系列子任务:(1 1)找出每个职员的档案)找出每个职员的档案 (2 2)读出工资数额)读出工资数额 (3 3)把工资加到部分和上)把工资加到部分和上 (4 4)读出下个职员的档案)读出下个职员的档案2.1 面向对象的程序设计方法面向对象的程序设计方法-3 一、面向过程的程序设计方法 类似地,读出每个职员档案中的记录又可以分解为一系列子任务:类似地,读出每个职员档案
4、中的记录又可以分解为一系列子任务:(1 1)打开职员的档案)打开职员的档案 (2 2)找出正确记录)找出正确记录 (3 3)从磁盘读取数据)从磁盘读取数据 结构化程序设计成功地为处理复杂问题提供了有力的手段。结构化程序设计成功地为处理复杂问题提供了有力的手段。然而到然而到8080年代末,它些缺点越来越突出。年代末,它些缺点越来越突出。当数据量增大时,数据与处理这些数据的方法之间的分离使当数据量增大时,数据与处理这些数据的方法之间的分离使程序变得越来越难以理解。对数据处理能力的需求越强,这种分程序变得越来越难以理解。对数据处理能力的需求越强,这种分离所造成的负作用越显著。离所造成的负作用越显著。
5、2.1 面向对象的程序设计方法面向对象的程序设计方法-4 一、面向过程的程序设计方法 采用结构化程序设计方法的程序员发现,每一种相采用结构化程序设计方法的程序员发现,每一种相对于老问题的新方法都要带来额外的开销,与可重用性对于老问题的新方法都要带来额外的开销,与可重用性相对,通常称这为重复投人。基于可重用性的思想是指相对,通常称这为重复投人。基于可重用性的思想是指建立一些具有已知特性的部件,在需要时可以插人到程建立一些具有已知特性的部件,在需要时可以插人到程序之中。这是一种模仿硬件组合方式的做法,当工程师序之中。这是一种模仿硬件组合方式的做法,当工程师需要一个新的晶体管时,他不用自己去发明,只
6、要到仓需要一个新的晶体管时,他不用自己去发明,只要到仓库去找就行了。对于软件工程师来说,在面向对象程序库去找就行了。对于软件工程师来说,在面向对象程序设计出现之前,一直缺乏具备这种能力的工具。设计出现之前,一直缺乏具备这种能力的工具。2.1 面向对象的程序设计方法面向对象的程序设计方法-5 二、面向对象的程序设计方法 面向对象程序设计的本质是把数据和处理数据的过程当成一个整体对象。Java全面支持面向对象程序设计。面向对象程序设计的实现需要封装和数据隐藏技术,需要继承和多态性技术。2.1 面向对象的程序设计方法面向对象的程序设计方法-6二、面向对象的程序设计方法 1 1封装和数据隐藏封装和数据
7、隐藏 当一个技术员要安装一台电脑时,他将各个设备组当一个技术员要安装一台电脑时,他将各个设备组装起来。当他想要一个声卡时,不需要用原始的集成电装起来。当他想要一个声卡时,不需要用原始的集成电路芯片和材料去制作一个声卡,而是来到电脑公司,购路芯片和材料去制作一个声卡,而是来到电脑公司,购买一个他所需要的某种功能的声卡。技术员关心的是声买一个他所需要的某种功能的声卡。技术员关心的是声卡的功能,并不关心声卡内部的工作原理。声卡是自成卡的功能,并不关心声卡内部的工作原理。声卡是自成一体的。这种自成一体性称为封装性。无需知道封装单一体的。这种自成一体性称为封装性。无需知道封装单元内部是如何工作就能使用的
8、思想称为数据隐藏。元内部是如何工作就能使用的思想称为数据隐藏。2.1 面向对象的程序设计方法面向对象的程序设计方法-7 二、面向对象的程序设计方法 声卡的所有属性都封装在声卡中,不会扩展到声卡声卡的所有属性都封装在声卡中,不会扩展到声卡之外。因为声卡的数据隐藏在该电路板上。技术员无需之外。因为声卡的数据隐藏在该电路板上。技术员无需知道声卡的工作原理就能有效地使用它。知道声卡的工作原理就能有效地使用它。JavaJava通过建立通过建立 类类 来支持封装性和数据隐藏。完好定来支持封装性和数据隐藏。完好定义的类一旦建立,就可看成是完全封装的实体,可以作义的类一旦建立,就可看成是完全封装的实体,可以作
9、为一个整体单元使用。类的实际内部工作应当隐藏起来,为一个整体单元使用。类的实际内部工作应当隐藏起来,使用完好定义的类的用户,不需要知道类是如何工作的,使用完好定义的类的用户,不需要知道类是如何工作的,只要知道如何使用它就行。只要知道如何使用它就行。2.1 面向对象的程序设计方法面向对象的程序设计方法-8 二、面向对象的程序设计方法 2 2继承和重用继承和重用 要制造新的电视机,可以有两种选择:一种是从草要制造新的电视机,可以有两种选择:一种是从草图开始,另一种是对现有的型号加以改进。也许现有的图开始,另一种是对现有的型号加以改进。也许现有的型号已经令人满意,但如果再加一个功能,会更加完美。型号
10、已经令人满意,但如果再加一个功能,会更加完美。电视机工程师肯定不想从头开始,而是希望制造另一种电视机工程师肯定不想从头开始,而是希望制造另一种新型电视机,该机是在原有的型号基础上增加一组电路新型电视机,该机是在原有的型号基础上增加一组电路做成的。新的电视机很快就制造出来了,被赋予一种新做成的。新的电视机很快就制造出来了,被赋予一种新的型号,于是新型电视机就诞生了。这是继承和重用的的型号,于是新型电视机就诞生了。这是继承和重用的实例。实例。2.1 面向对象的程序设计方法面向对象的程序设计方法-9 二、面向对象的程序设计方法 Java采用继承支持重用的思想,程序可以在扩展现有类型的基础上声明新类型
11、。新子类是从现有类型派生出来的,称为派生类。新型电视机是在原有型号的电视机上增加若干种功能而得到的,所以新型电视机是原有电视机的派生,继承了原有电视机的所有属性,并在此基础上增加了新的功能。2.1 面向对象的程序设计方法面向对象的程序设计方法-10 二、面向对象的程序设计方法 3 3多态性多态性 通过继承的方法构造类,采用多态性为每个类指定表现行为。例如,学生类应该有一个计算成绩的操作。大学生继承了中学生,或者说是中学生的延伸。对于中学生,计算成绩的操作表示语文、数学、英语等课程的计算,而对于后继的大学生,计算成绩的操作表示高等数学、计算机、普通物理等课程的计算。2.2 什么是对象什么是对象-
12、1 对象是一些相关的变量和方法的软件集。软件对对象是一些相关的变量和方法的软件集。软件对象经常用于模仿现实世界中我们身边的一些对象。对象象经常用于模仿现实世界中我们身边的一些对象。对象是理解面向对象技术的关键。你在学习之前可以看看现是理解面向对象技术的关键。你在学习之前可以看看现实生活中的对象,比如狗、桌子、电视、自行车等等。实生活中的对象,比如狗、桌子、电视、自行车等等。你可以发现现实世界中的对象有两个共同特征:它们都你可以发现现实世界中的对象有两个共同特征:它们都有状态和行为。比如狗有自己的状态(比如名字、颜色有状态和行为。比如狗有自己的状态(比如名字、颜色等等)和行为(比如摇尾巴、汪汪叫
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 大学 教学 课件 第二 面向 对象 程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内