面向对象程序设计第一章精选PPT.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)
《面向对象程序设计第一章精选PPT.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计第一章精选PPT.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计第一章课件第1页,此课件共32页哦第2页,此课件共32页哦 第第1 1章章 绪绪 论论 1.1 1.1 面向对象方法的起源面向对象方法的起源 1.21.2 面向对象是软件方法学的返朴归真面向对象是软件方法学的返朴归真 1.3 1.3 结构化程序设计与面向对象程序设计结构化程序设计与面向对象程序设计 1.4 1.4 面向对象的基本概念和面向对象系统的特性面向对象的基本概念和面向对象系统的特性1.5 1.5 面向对象程序设计语言的四大家族面向对象程序设计语言的四大家族1.6 1.6 面向对象的系统开发方法面向对象的系统开发方法 1.7 1.7 面向对象程序设计举例面向对象程序设计举
2、例 第3页,此课件共32页哦CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象1.1 1.1 面向对象方法的起源面向对象方法的起源第4页,此课件共32页哦 软件设计人员的负担越来越重,软件的实现越来越庞大,软件设计人员的负担越来越重,软件的实现越来越庞大,为计算机领域自身的发展提出了新的要求。利用传统的程序为计算机领域自身的发展提出了新的要求。利用传统的
3、程序设计思想无法满足这一要求,人们就开始寻求一种更能反映设计思想无法满足这一要求,人们就开始寻求一种更能反映人类解决问题的自然方法,这就是人类解决问题的自然方法,这就是“面向对象面向对象”技术。技术。50 50年代的程序都是用指令代码或汇编语言编写的年代的程序都是用指令代码或汇编语言编写的 60 60年代高年代高级语言的出现大大简化了程序设计,缩短了软件开发周期自级语言的出现大大简化了程序设计,缩短了软件开发周期自6060年代末到年代末到7070年代初,出现了大型软件系统,如操作系统、数据年代初,出现了大型软件系统,如操作系统、数据库,这给程序设计带来了新的问题。可靠性差,错误多,且不库,这给
4、程序设计带来了新的问题。可靠性差,错误多,且不易维护和修改易维护和修改-“软件危机软件危机”。1.1 1.1 面向对象方法的起源面向对象方法的起源第5页,此课件共32页哦 为为了了克克服服60年年代代出出现现的的软软件件危危机机,1968年年北北约约组组织织提提出出“软软件件工工程程”的的概概念念。对对程程序序设设计计语语言言的的认认识识从从强强调调表表达达能能力力为为重重点点转转向向以以结结构构化化和和简简明明性性为为重重点点,将将程程序序从从语语句句序序列列转转向向相相互互作作用用的的模模块块集集合合。1969年年,E.W.Dijkstra首首先先提提出出了了结结构构化化程程序序设设计计的
5、的概概念念,他他强强调调从从程程序序结结构构和和风风格格上上来来研研究究程程序序设设计计。在在软软件件工工程程的的迫迫切切要要求求下下,70年年代代结结构构化化语语言言获获得得蓬蓬勃勃发发展展并并得得到到广广泛泛应应用用。使使用用结结构构化化程程序序设设计计方方法法可可显显著著地地减减少少软软件件的的复复杂杂性性,提提高高软软件件的的可可靠靠性性、可可测测试试性性和和可可维维护护性性。经经过过几几年年的的探探索索和和实实践践,结结构构化化程程序序设设计计的的应应用用确确实实取取得得了了成成效效,用用结结构构化化程程序序设设计计的的方方法法编编写写出出来来的的程程序序不仅结构良好,易写易读,而且
6、易于证明其正确性。不仅结构良好,易写易读,而且易于证明其正确性。第6页,此课件共32页哦 进进入入8080年年代代,由由于于一一系系列列高高技技术术的的研研究究,如如第第五五代代计计算算机机、计计算算机机辅辅助助制制造造CAMCAM和和知知识识工工程程等等领领域域的的研研究究都都迫迫切切要要求求大大型型的的软软件件系系统统作作为为支支撑撑。他他们们所所用用的的数数据据类类型型也也超超出出了了常常规规的的结结构构化化数数据据类类型型的的范范畴畴,提提出出对对图图像像、声声音音、规规则则等等非非结结构构化化信信息息的的管管理理。为为了了适适应应这这些些应应用用领领域域的的需需要要,迫迫切切要要求求
7、软软件件模模块块具具有有更更强强的的独独立立自自治治性性,以以便便于于大大型型软软件件的的管管理理、维维护护和和重重用用。由由于于结结构构化化语语言言的的数数据据类类型型较较为为简简单单,所所以以不不能能胜胜任任对对非非结结构构化化数数据据的的定定义义与与管管理理,采采用用过过程程调调用用机机制制也也不不够灵活,独立性较差。够灵活,独立性较差。第7页,此课件共32页哦为为了了适适应应高高技技术术发发展展的的需需要要,消消除除结结构构化化编编程程语语言言的的局局限限,自自8080年年代代以以来来,出出现现了了面面向向对对象象程程序序设设计计流流派派,研研制制出出了了多多种种面面向向对对象象程程序
8、序设设计计语语言言(简简称称为为OOPLOOPL:Object Object Oriented Oriented Programming Programming LanguageLanguage),如如AdaAda,SmalltalkSmalltalk,C+C+和和当当前前使使用用在在InternetInternet上的平台无关语言上的平台无关语言JavaJava等。等。第8页,此课件共32页哦 由由于于OOPLOOPL的的对对象象、类类具具有有高高度度的的抽抽象象性性,所所以以它它能能很很好好地地表表达达任任何何复复杂杂的的数数据据类类型型,也也允允许许程程序序员员灵灵活活地地定定义义自自己
9、己所所需需要要的的数数据据类类型型。类类本本身身具具有有很很完完整整的的封封装装性性,可可以以使使用用它它作作为为编编程程中中的的模模块块单单元元,满满足足模模块块独独立立自自治治的的需需求求。再再加加上上继继承承性性和和多多态态性性,更更有有助助于于简简化化大大型型软软件件和和大大量量重重复复定定义义的的模模块块,增增强强了了模模块块的的可可重重用用性性,提提高高了了软软件件的的可可靠靠性性,缩缩短了软件的开发周期。短了软件的开发周期。第9页,此课件共32页哦1.2 1.2 面向对象是软件方法学的返朴归真面向对象是软件方法学的返朴归真 客观世界是由许多具体的事物、抽象的概念、客观世界是由许多
10、具体的事物、抽象的概念、规则等组成的,我们将任何感兴趣或要加以研规则等组成的,我们将任何感兴趣或要加以研究的事、物、概念统称为对象究的事、物、概念统称为对象ObjectObject。每个对象都有各自的内部状态和运动规律,每个对象都有各自的内部状态和运动规律,不同对象之间通过消息传递进行相互作用和联不同对象之间通过消息传递进行相互作用和联系就构成了各种不同的系统。面向对象的方法系就构成了各种不同的系统。面向对象的方法正是以对象作为最基本元素的一种分析问题和正是以对象作为最基本元素的一种分析问题和解决问题的方法。解决问题的方法。第10页,此课件共32页哦传传统统的的结结构构化化方方法法强强调调的的
11、是是功功能能抽抽象象和和模模块块化化,每每个个模模块块都都是是一一个个过过程程。结结构构化化方方法法处处理理问问题题是是以以过过程程为为中中心心的的。面面向向对对象象强强调调的的是是功功能能抽抽象象和和数数据据抽抽象象,用用对对象象来来描描述述事事物物和和过过程程。而而对对象象包包含含数数据据和和对对数数据据的的操操作作,是是对对数数据据和和功功能能的的抽抽象象和和统统一一。面面向向对对象象方方法法处处理理问问题题的的过过程程是是对对一一系系列列相相关关对对象象的的操操纵纵,即即发发送送消消息息到到目目标标对对象象中中,由由对对象象执执行行相相应应的的操操作作。因因此此面面向向对对象象方方法法
12、是是以以对对象象为为中中心心的的,这这种种以以对对象象为为中中心心的的方方法法更更自自然然、更更直直接接地地反反映映现现实实世世界界的的问问题题空空间间,具具有有独独特特的的抽抽象象性性、封封装装性性、继继承承性和多态性,能更好地适应复杂大系统不断发展与变化的要求。性和多态性,能更好地适应复杂大系统不断发展与变化的要求。第11页,此课件共32页哦采采采采用用用用对对对对象象象象的的的的观观观观点点点点看看看看待待待待所所所所要要要要解解解解决决决决的的的的问问问问题题题题,并并并并将将将将其其其其抽抽抽抽象象象象为为为为应应应应用用用用系系系系统统统统是是是是极极极极其其其其自自自自然然然然与
13、与与与简简简简单单单单的的的的,因因因因为为为为它它它它符符符符合合合合人人人人类类类类的的的的思思思思维维维维习习习习惯惯惯惯,使使使使得得得得应应应应用用用用系系系系统统统统更更更更容容容容易易易易理理理理解解解解。同同同同时时时时,由由由由于于于于应应应应用用用用系系系系统统统统是是是是由由由由相相相相互互互互独独独独立立立立的的的的对对对对象象象象构构构构成成成成的的的的,使使使使得得得得系系系系统统统统的修改可以局部化,因此系统更易于维护。的修改可以局部化,因此系统更易于维护。的修改可以局部化,因此系统更易于维护。的修改可以局部化,因此系统更易于维护。软软软软件件件件开开开开发发发发
14、从从从从本本本本质质质质上上上上讲讲讲讲就就就就是是是是对对对对软软软软件件件件所所所所要要要要处处处处理理理理的的的的问问问问题题题题域域域域进进进进行行行行正正正正确确确确的的的的认认认认识识识识,并并并并把把把把这这这这种种种种认认认认识识识识正正正正确确确确地地地地描描描描述述述述出出出出来来来来。既既既既然然然然如如如如此此此此,那那那那就就就就应应应应该该该该直直直直接接接接面面面面对对对对问问问问题题题题域域域域中中中中客客客客观观观观存存存存在在在在的的的的事事事事物物物物来来来来进进进进行行行行软软软软件件件件开开开开发发发发,这这这这就就就就是是是是面面面面向向向向对对对对
15、象象象象。另另另另一一一一方方方方面面面面,人人人人类类类类在在在在认认认认识识识识世世世世界界界界的的的的历历历历史史史史长长长长河河河河中中中中形形形形成成成成的的的的普普普普遍遍遍遍有有有有效效效效的的的的思思思思维维维维方方方方法法法法,在在在在软软软软件件件件开开开开发发发发中中中中也也也也应应应应该该该该是是是是适适适适用用用用的的的的。在在在在软软软软件件件件开开开开发发发发中中中中尽尽尽尽量量量量采采采采用用用用人人人人们们们们在在在在日日日日常常常常生生生生活活活活中中中中习习习习惯惯惯惯的的的的思思思思维维维维方方方方式式式式和和和和表表表表达达达达方方方方式式式式,这这这
16、这就就就就是是是是面面面面向向向向对对对对象象象象方方方方法法法法所所所所强强强强调调调调的的的的基基基基本本本本原原原原则则则则。软软软软件件件件开开开开发发发发从从从从过过过过分分分分专专专专业业业业化化化化的的的的方方方方法法法法、规规规规则则则则和和和和技技技技巧巧巧巧中中中中回回回回到到到到了了了了客客客客观观观观世世世世界界界界,回回回回到到到到了了了了人人人人们们们们的的的的日日日日常常常常思思思思维维维维,所所所所以以以以说说说说面面面面向向向向对对对对象象象象方方方方法法法法是是是是软软软软件件件件方方方方法法法法学学学学的的的的返返返返朴归真。朴归真。朴归真。朴归真。第12
17、页,此课件共32页哦1.31.3结构化程序设计与面向对象程序设计结构化程序设计与面向对象程序设计 1.1.结构化程序设计结构化程序设计 程序程序=数据结构数据结构+算法算法+程序设计语言程序设计语言+语言环境语言环境第13页,此课件共32页哦 1.结构化程序设计方法结构化程序设计方法 n n自顶向下、逐步细化:自顶向下、逐步细化:自顶向下、逐步细化:自顶向下、逐步细化:结构化程序设计的主要思想是功能分解并逐结构化程序设计的主要思想是功能分解并逐结构化程序设计的主要思想是功能分解并逐结构化程序设计的主要思想是功能分解并逐步求精。当一些任务复杂以至无法描述时,可以将它拆分为一系步求精。当一些任务复
18、杂以至无法描述时,可以将它拆分为一系步求精。当一些任务复杂以至无法描述时,可以将它拆分为一系步求精。当一些任务复杂以至无法描述时,可以将它拆分为一系列较小的功能部件,直到这些完备的子任务小到易于理解的程度。列较小的功能部件,直到这些完备的子任务小到易于理解的程度。列较小的功能部件,直到这些完备的子任务小到易于理解的程度。列较小的功能部件,直到这些完备的子任务小到易于理解的程度。这种方法叫这种方法叫这种方法叫这种方法叫“自顶向下,逐步细化自顶向下,逐步细化自顶向下,逐步细化自顶向下,逐步细化”。n n模块化设计:模块化设计:模块化设计:模块化设计:在程序设计中常采用模块化设计的方法,尤其是当在程
19、序设计中常采用模块化设计的方法,尤其是当在程序设计中常采用模块化设计的方法,尤其是当在程序设计中常采用模块化设计的方法,尤其是当程序比较复杂时,更有必要。在拿到一个程序模块(实际上是程程序比较复杂时,更有必要。在拿到一个程序模块(实际上是程程序比较复杂时,更有必要。在拿到一个程序模块(实际上是程程序比较复杂时,更有必要。在拿到一个程序模块(实际上是程序模块的任务书)以后,根据程序模块的功能将它划分为若干个序模块的任务书)以后,根据程序模块的功能将它划分为若干个序模块的任务书)以后,根据程序模块的功能将它划分为若干个序模块的任务书)以后,根据程序模块的功能将它划分为若干个子模块,如果嫌这些子模块
20、的规模大,还可以划分为更小的模块。子模块,如果嫌这些子模块的规模大,还可以划分为更小的模块。子模块,如果嫌这些子模块的规模大,还可以划分为更小的模块。子模块,如果嫌这些子模块的规模大,还可以划分为更小的模块。这个过程采用自顶向下方法来实现。结构化程序设计方法可以解这个过程采用自顶向下方法来实现。结构化程序设计方法可以解这个过程采用自顶向下方法来实现。结构化程序设计方法可以解这个过程采用自顶向下方法来实现。结构化程序设计方法可以解决人脑思维能力的局限性和所处理问题的复杂性之间的矛盾。决人脑思维能力的局限性和所处理问题的复杂性之间的矛盾。决人脑思维能力的局限性和所处理问题的复杂性之间的矛盾。决人脑
21、思维能力的局限性和所处理问题的复杂性之间的矛盾。n n结构化编码:结构化编码:结构化编码:结构化编码:在设计好一个结构化的算法之后,还要善于进行在设计好一个结构化的算法之后,还要善于进行在设计好一个结构化的算法之后,还要善于进行在设计好一个结构化的算法之后,还要善于进行结构化编码。即用高级语言语句正确地实现顺序、选择、循环结构化编码。即用高级语言语句正确地实现顺序、选择、循环结构化编码。即用高级语言语句正确地实现顺序、选择、循环结构化编码。即用高级语言语句正确地实现顺序、选择、循环三种基本结构。三种基本结构。三种基本结构。三种基本结构。第14页,此课件共32页哦2.2.面向对象程序设计面向对象
22、程序设计程序设计的新思维程序设计的新思维面向对象程序设计将数据及对数据的操作放在一起,作为一面向对象程序设计将数据及对数据的操作放在一起,作为一面向对象程序设计将数据及对数据的操作放在一起,作为一面向对象程序设计将数据及对数据的操作放在一起,作为一个相互依存、不可分割的整体来处理,它采用了数据抽象和信个相互依存、不可分割的整体来处理,它采用了数据抽象和信个相互依存、不可分割的整体来处理,它采用了数据抽象和信个相互依存、不可分割的整体来处理,它采用了数据抽象和信息隐藏技术。它将对象及对对象的操作抽象成一种新的数据类息隐藏技术。它将对象及对对象的操作抽象成一种新的数据类息隐藏技术。它将对象及对对象
23、的操作抽象成一种新的数据类息隐藏技术。它将对象及对对象的操作抽象成一种新的数据类型类,并且考虑不同对象之间的联系和对象所在类的重要性。型类,并且考虑不同对象之间的联系和对象所在类的重要性。型类,并且考虑不同对象之间的联系和对象所在类的重要性。型类,并且考虑不同对象之间的联系和对象所在类的重要性。面向对象程序设计优于传统的结构化程序设计,其优越面向对象程序设计优于传统的结构化程序设计,其优越性表现在,它有希望解决软件工程的两个主要的问题性表现在,它有希望解决软件工程的两个主要的问题软件复杂性控制和软件生产率的提高,此外它还符合人类的思维软件复杂性控制和软件生产率的提高,此外它还符合人类的思维软件
24、复杂性控制和软件生产率的提高,此外它还符合人类的思维软件复杂性控制和软件生产率的提高,此外它还符合人类的思维习惯,能够自然地表现现实世界的实体和问题,它对软件开发过习惯,能够自然地表现现实世界的实体和问题,它对软件开发过习惯,能够自然地表现现实世界的实体和问题,它对软件开发过习惯,能够自然地表现现实世界的实体和问题,它对软件开发过程具有重要的意义。程具有重要的意义。程具有重要的意义。程具有重要的意义。面向对象程序设计能支持的软件开发策略有:面向对象程序设计能支持的软件开发策略有:面向对象程序设计能支持的软件开发策略有:面向对象程序设计能支持的软件开发策略有:(1)(1)(1)(1)编写可重用代
25、码;编写可重用代码;编写可重用代码;编写可重用代码;(2)(2)(2)(2)编写可维护的代码;编写可维护的代码;编写可维护的代码;编写可维护的代码;(3)(3)(3)(3)共享代码;共享代码;共享代码;共享代码;(4)(4)(4)(4)精减已有的代码。精减已有的代码。精减已有的代码。精减已有的代码。第15页,此课件共32页哦1.1.1.1.对象:对象:对象:对象:是计算机内存中的一块区域,通过将内存分块,每个是计算机内存中的一块区域,通过将内存分块,每个模块(即对象)在功能上相互之间保持相对独立。当对象的模块(即对象)在功能上相互之间保持相对独立。当对象的一个成员函数被调用时,对象执行其内部的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 第一章 精选 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内