第四讲:面向对象程序设计方法及类、对象的概念.docVIP

第四讲:面向对象程序设计方法及类、对象的概念.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四讲:面向对象程序设计方法及类、对象的概念

第四讲:面向对象程序设计方法及类、对象的概念 本讲基本要求 ????掌握:面向对象程序设计的方法及特点;类的声明的对象的定义理解:对象的封装、抽象、继承与多态性四个特快性的概念;类和对象的作用;面向对象和面向过程的程序构成。 ????了解:面向对象的软件开发。 ????重点、难点: 面向对象程序设计的方法及特点;类的声明的对象的定义;类成员函数的性质、定义及存贮方式。 一、面向对象程序设计方法概述???? ????对于规模比较小的程序,编程者可以直接编写出一个面向过程的程序,详细地描述每一瞬时的数据结构及对其的操作过程。但是当程序规模较大时,就显得力不从心了。C++就是为了解决编写大程序过程中的困难而产生的。 1、什么是面向对象的程序设计 ???问题提出:对于规模比较小的程序,编程者可以直接编写出一个面向过程的程序,详细地描述每一瞬时的数据结构及对其的操作过程。但是当程序规模较大时,就显得力不从心了。C++就是为了解决编写大程序过程中的困难而产生的。 ???解决方法:面向对象的程序设计的思路和人们日常生活中处理问题的思路是相似的。在自然世界和社会生活中,—个复杂的事物总是由许多部分组成的。 ???当人们生产汽车时,并不是先设计和制造发动机,再设计和制造底盘,然后设计和制造车身和轮子,而是分别设计和制造发动机、底盘、车身和轮子,最后把它们组装在一起。在组装时,各部分之间有—定的联系,以便协调工作。例如驾驶员踩油门,就能调节油路,控制发动机的转速,驱动车轮转动。这就是面向对象的程序设计的基本思路。 下面先讨论几个有关的概念。 ⑴对象 定义: ? ?客观世界中任何一个事物都可以抽象的看成一个对象(object)。或者说,客观世界是由千千万万个对象组成的。对象可以是自然物体(如汽车、房屋、狗熊),也可以是社会生活中的一种逻辑结构(如班级、支部、连队),甚至一篇文章、一个图形、一项计划等都可视作对象。 说明: ? ?1、对象可大可小。 ? ?2、对象可以是自然体也可以是逻辑体。 ? ?3、对象可以嵌套。 ? ?4、对象有两个要素:静态特征称为属性(attribute),动态特征称为行为(behavior)。 ? ?5、控制行为改变的因素称之为消息。要使某一个对象实现某一种行为(即操作),应当向它传送相应的消息。 ? ?? ?? ?? ? 图2.1? ?? ?? ? ?? ??? ? 图2.2 ? ?面向对象的程序设计采用了以上人们所熟悉的这种思路。使用面向对象的程序设计方法设计一个复杂的软件系统时,首要的问题是确定该系统是由哪些对象组成的,并且设计这些对象。在C++中,每个对象都是由数据和函数(即操作代码)这两部分组成的,见图2。 ⑵封装与信息隐蔽 可以对一个对象进行封装处理,把它的—部分属性和功能对外界屏蔽,也就是说从外界是看不到的,甚至是不可知的。 对象进行封装处理做的好处是大大降低了人们操作对象的复杂程度,使用对象的人完全可以不必知道对象内部的具体细节,只需了解其外部功能即可自如地操作对象。 在设计一个对象时,要周密地考虑如何进行封装,把不必要让外界知道的部分“隐蔽”起来。也就是说,把对象的内部实现和外部行为分隔开来。人们在外部进行控制,而具体的操作细节是在内部实现的,对外界是不透明的。 定义:? ? ? ?“封装”---指两方面的含义:一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不于扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。这种对外界隐蔽的做法称为信息隐蔽(information?hiding)。信息隐蔽还有利于数据安全,防止无关的人了解和修改数据。 ⑶抽象 ? ?在程序没计方法中,常用到抽象(abstraction)这一名词。其实“抽象”这——概念并不抽象,是很具体的,人们对之是司空见惯的。例如,我们常用的名词“人”,就是一种抽象。 ? 定义: ? ?抽象的过程是将有关事物的共性归纳、集中的过程。 说明: ? ?1、抽象的作用是表示同类事物的本质。 ? ?2、对象是具体存在的,在C++中,可以将对象抽象类型定义为“类(class)”。类是对象的抽象,而对象则是类的特例,或者说是类的具体表现形式。 ⑷继承与重用 ? ?C++提供了继承机制,采用继承的方法可以很方便地利用一个已确的类建立一个新的类,这就可以重用已有软件中的一部分甚至大部分,大大节省了编程工作量。这就是常说的“软件重用(software?reusability)的思想,不仅可以利用自己过去所建立的类、而且可以利用别人使用的类或存放在类库中的类,对这些类作适当加工即可使用,大大缩短了软件开发周期,对于大型软件的开发具有重要意义。 ⑸多态性 定义: ?

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档