江西师范大学C++面向对象程序设计课件 第1章 绪论.ppt

江西师范大学C++面向对象程序设计课件 第1章 绪论.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计 面向对象程序设计(Object—Oriented Programming,简称OOP)是基于一种很自然和朴素的思想,通常计算机系统是在一定的对象上执行一定的行为操作,要获得灵便而且可复用的系统,最好的办法就是把软件结构建立在对象之上,而不是行为之上,使计算机求解问题更加类似于人类的活动。 面向对象思想的产生 “对象”一词在现实生活中经常会遇到,它表示现实世界中的某个具体事物。社会的不断进步和计算机科学的不断发展是相互促进的。计算机科学技术的发展和计算机在社会各行各业的广泛应用,极大地推动了社会进步和社会生产力的提高,给社会的进步和发展带来了勃勃生机;另一方面,随着社会的不断进步和发展,计算机科学必须进行自我提高和自我完善,才能适应社会发展对计算机科学提出的新的要求,适应社会生产力发展的需求。 八十年代以来,计算机越来越深入人们的生活,计算机的应用范围越来越广,人们也就越来越希望和计算机进行更加直接的交互,而不需要经过长时间的训练和学习就可以使用计算机。 实际上,计算机之所以能被人们越来越接受和使用,在很大程度上是由于计算机的用户界面越来越友好,使用越来越简单、方便。用户对计算机科学的要求,使软件设计人员的负担越来越加重,而利用传统的程序设计已无法满足这一愿望,这就给计算机科学的发展提出了新的要求,研究人员开始寻求一种能反映现实世界中人类解决问题的自然方法,于是,“面向对象”技术就运应而生。 概述 “面向对象”技术使用得用户用最小的精力,最大限度地利用软件系统解决实际问题,因此必须将现实世界中的事物尽可能的直接映射到软件系统解空间中去,实现对现实世界的直接模拟,这就是“面向对象”技术的追求所在。 物质和意识构成了现实世界的事物。现实生活中,“这辆黑色的轿车”表达的是具体的事物, 而“轿车”是一种意识。物质表达的是具体的事物,意识是对客观存在的事物的一种抽象概括。在面向对象系统的解空间中,有对象和类,若把现实世界中的事物直接映射到面向对象的软件系统解空间,那么物质对应于对象,而意识对应于类。 概述 物质: 一辆黑色红旗轿车 意识: 轿车 具体事物: 一个对象 轿车实例 抽象概念: 轿车类 现实问题空间 面向对象系统解空间 图 现实世界与面向对象系统之间的对应关系 面向对象程序设计及语言 60年代末产生的结构化程序设计具有许多优点,到80年代这一方法遍及全球,被软件开发人员普遍使用,成为现代软件工程的基础。 但是,结构化程序设计是一种面向数据/过程的程序设计方法,它将数据和过程作为相互独立的实体,软件开发人员在编程时必须每时每刻考虑所要处理的数据的格式。对于相同的数据格式要做不同的处理或者对不同的数据格式进行同样的处理都要编写不同的程序。这就是结构化的程序可复用圆缓,软件的生产效率低。 面向对象程序设计及语言 另外,由于在结构化程序设计中数据和过程的相互独立,就难于避免用错误的数据调用正确的过程或程序模块,也存在用正确的数据调用错误的程序模块的可能性。所以,时刻注意数据和过程的相容,就成为软件开发人员的一种负担。这也使得结构化的程序正确性难于保证,复杂性不断提高,而这些问题是采用结构化程序设计方法无法解决的。 面向对象程序设计吸收了结构化程序设计的所有优点,同时,为了克服结构化程序设计的缺点,使软件系统的复杂性得到有效控制、维护更加方便,软件生产力得以提高,它充分考虑了人类求解问题的思维方法,把现实世界的事物直接映射到软件系统的解空间,使现实世界的问题求解尽可能简单化。 1.面向对象程序设计 面向对象程序设计是指基于每个系统或子系统所操作的对象(而不是它准备赋于的功能)来得到软件的体系结构的方法。其思想实质是:不要首先问系统做什么,而是要问系统对什么进行操作!这一思想对于习惯于传统的结构化程序设计的人而言,是观念上的巨大变革,它对于软件开发过程具有重要意义。 概述 面向对象程序设计将数据和对数据的操作捆绑在一起,作为相互依存不能分割的整体来处理,采用数据抽象和信息隐蔽技术。它将对象和对对象的操作抽象成一种新的数据类型――类,并且考虑不同对象之间的相互联系和对象类的重用性。 概述 例题:下面通过一个例子介绍面向对象程序设计的优点。这个例子给出一个整数栈类,它有以下几个操作: 置一个空栈:生成一个空的整数栈; 进栈:将一个整数压进栈中; 出栈:从栈中弹出栈顶元素; 打印:从栈顶

文档评论(0)

ormition + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档