c++面向对象程序设计 第二章 类和对象.pptVIP

c++面向对象程序设计 第二章 类和对象.ppt

  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文档。上传文档
查看更多
第二章 类和对象 耿长欣 第二章 类和对象 2.1 面向对象程序设计方法概述 2.2 类的声明和对象的定义 2.3 类的成员函数 2.4 对象成员的引用 2.5 类和对象的简单应用举例 2.6 类的封装性和信息隐藏 2.1 面向对象程序设计方法概述 面向对象程序设计面对的是一个个对象。在实际应用中,每一组数据都是有特定的用途的,是某种操作的对象。也就是说,一组操作调用一组数据。因此可以对数据也进行人为的界定或封装,把相关的数据和操作放在一起,形成一个整体,与外界隔离,这就是对象。 面向对象的基本概念 对象 类 属性 行为 消息 封装 继承 多态 对象 在客观世界中,对象是任何可以感觉到的事物。对象可以是自然事物(人、动物、植物等),组织结构(学校、院系、班级等),(人类的)物质产品(房屋、汽车、计算机等)和信息产品(文章、乐曲、规则、计划、数等)等,可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。 对象具有 静态特性:用来描述对象静态特征的数据项。比如一个班级对象的专业、所在系、学生人数等,称为属性; 动态特性:用来描述对象动态特征的操作序列。比如一个班级对象能够学习、组织活动等,称为行为(功能、操作) 任何一个对象都应当具有这两个要素,一是属性(attribute);二是行为(behavior),即能根据外界给的信息进行相应的操作。 对象是由一组属性和一组行为构成的。 对象 消息 消息是一个对象请求另一个对象执行其某种行为操作(也称为方法)所发送的信息。消息将不同的对象联系在一起,构成一个复杂、功能多样的系统。 消息具有三个性质: 同一对象可以接受不同形式的多个消息,并产生不同的响应; 相同形式的消息可以发送给不同接收对象,所获得的响应可以截然不同; 消息的发送者可以不必考虑消息接收者是否会响应消息,消息接收者对消息的响应并不是必须的 类 分类——人类通常的思维方法 分类所依据的原则——抽象 忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。 例如,石头、树木、汽车、房屋等都是人们在长期的生产和生活实践中抽象出的概念。 类和对象的关系 类代表了某一批对象的共性和特征;每个对象都属于一个特定的类型。 类是对象的抽象,而对象是类的具体实例(instance)。 犹如模具与铸件之间的关系,一个属于某类的对象称为该类的一个实例。 注意 同一类的不同实例(对象)必须具有: ? 相同的操作集合—行为; ? 相同的静态属性集合 ; ? 不同的对象名和属性动态值(属性值不全相同) 。 例如:“学生”类中的不同对象 类 类是对一组对象的抽象。具有相似属性和行为的一组对象,就称为类。或者说,类是对一组对象的相同数据和方法的定义或描述。这样对象就成为类的一个实例(instance)。可见,有了类的概念以后,就可以对具有共同特征的事物进行统一描述。 根据类的这种概念,类实质上是一种新的数据类型,就象我们熟悉的整型、浮点型等数据类型一样。对象相当于就是类的一个变量。 抽象 数据抽象是识别特定实体的属性和方法的过程 封装 在面向对象的方法中,数据与操作数据的方法是结合在一起的。这种结合称为封装(encapsulation)。将有关的数据和函数(操作代码)封装在 一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。 尽可能隐蔽对象的内部细节。对外形成一个边界(或者说一道屏障),只保留有限的对外接口使之与外部发生联系。 封装 通过对一个对象进行封装处理,把它的一部分属性和功能设置为私有,从而将对象中的某些部分对外隐蔽,即隐蔽其内部细节,也就是说从外界是看不到的、甚至是不可知的,保证了对象的安全;再把它的一部分属性和功能设置为公有,作为接口,以便与外界联系,接收外界消息。这种做法称为消息隐蔽。 有选择的数据隐藏 防止意外的数据破坏 更易于隔离和修复错误 继承 继承表达了一种类之间的依赖关系,它使得某类(子类或派生类)对象可以在另一类(父类或基类)对象的属性和行为的基础上建造自己的属性和行为。子类的对象拥有其父类的全部属性与服务。 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。 例如:将学生作为一个父类,本科生、研究生、专科生便是其子类。 多态 多态性指不同对象在接收到同一消息时,调用不同操作,作出不同响应的现象。 根据实现机制不同,多态性分为两种: 静态多态性:通过重载实现,编译时确定执行哪一个重载版本,故又称为编译多态性; 动态多态性:通过虚函数和继承实现,需要在运行时通过找出接收消息的对象来确定执行哪一个虚函数版本,故又称为运行多态性。 多态性能增加程序的灵活性。 例如:数的加法-实数的加法

文档评论(0)

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

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

1亿VIP精品文档

相关文档