- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C编程面向对象程序设计C【精品推荐-ppt】
面向对象程序设计C++;第1章 C++语言概述;1.1.1 面向对象的由来和发展
早期的汇编语言比机器语言(二进制码)方便得多。
20世纪50年代中期出现高级程序设计语言FORTRAN。
20世纪50年代后期,Algol通过块结构对变量实施隔离。
20世纪60年代,Simula 67是面向对象语言的鼻祖,提出了对象的概念,使用了类的概念,支持类的继承。
20世纪70年代,Ada语言是支持数据抽象类型的最重要的语言之一,但不全面支持继承,称为基于对象的语言。
Smalltalk语言是最有影响的面向对象语言之一,它和Object-C等都是全新的面向对象语言。
C++对传统语言C进行面向对象的扩展,是混合型语言。
面向对象的语言更接近于自然语言。; 面向对象是一种运用了对象、类、封装、继承和多态性等来构造系统的软件开发方法,面向对象程序设计方法的特征体现于对象、类、封装、继承和多态性。
对象
对象的地位:对象是软件系统的基本构成单位,是研究问题和分析问题的出发点,是构成程序的主要成员。
对象的实质:对象是对客观世界中实际存在的某种事物的抽象,是描述客观事物的一个实体。
对象的定义:对象是一组属性和一组行为的集合,是数据与操作的集合。属性用来描述对象的静态特性,它使用若干数据来表示;行为是用来描述对象的动态特性,它使用若干操作来表示。
对象之间传递信息是通过消息实现的。;类
类的本质:类是一种由用户定义的自定义类型,称为类类型。
类的定义:类是一种具有共同属性和行为的若干对象的统一描述体,类是创建对象的样板,它包含着所创建对象的数据描述和操作的定义。
分类的思想:分类是人们认识客观世界的一种常用的思维方法,将具有相同属性的事物划分为一类,得到一个抽象的概念,用来表示一类事物。分类的原则是抽象,类是抽象数据类型的实现。
封装
封装是把对象的属性和行为(即数据和操作)结合成为一个封装体,操作是通过函数来实现的,又称为方法。
封装体具有隐藏性,通过称为接口的通道与外界进行联系。;聚合
聚合的定义:聚合是类之间的一种包含关系,聚合用来将复杂类表示为若干简单类的对象的集合。
问题归约的思想??在处理一个复杂问题时,常常将复杂问题分解为若干个简单问题,通过逐个解决简单问题来解决复杂问题。
继承
特殊类具有一般类的全部属性和行为,并且它还有自己的属性和行为,此时称特殊类是对一般类的继承。
继承是创建新类的方法之一,可以简化人们对事物的描述,减少冗余性,提高重用性。
可以将已开发好的类存放到类库内,例如Visual C++的基础函数类库MFC。开发新系统时,便可直接使用或继承使用已有的类,这将会减少编程的工作量,并提高编程质量。;多态性
多态性是一对多的状态,函数重载和运算符重载是多态性的体现,即一个函数名或同一个运算符对应于不同的实现或功能。
多态性体现在动态联编上。在一般类中定义的行为或方法,被特殊类继承后,可有不同的实现或操作,并在运行中进行联编。
例如,定义一个一般类“几何图形”,它有求面积的方法,在一般类中该方法可以不给出具体的实现。对于该类的特殊类“圆形”、“矩形”、“三角形”等,这些特殊类都继承该一般类,每个特殊类中也都有求面积的方法。这些特殊的求面积方法根据其不同的几何图形具体实现,各个方法的求面积公式是不一样的。在实际操作时根据运行时出现的几何图形,调用对应的求面积方法进行计算,这就是面向对象的多态性。;面向对象的方法可归纳为以下几点:
将客观事物中抽象出的数据和方法构成一个集合体,这便是对象,即对实体的描述。
将相同类型的对象抽象出共性,形成类。类具有封装性和隐藏性。
类是一个封装体,类中大多数数据只能通过本类的方法进行处理。这些数据在类外是不可见的,无法访问。
类是通过外部接口与外界联系的,这些外部接口提供了类的行为。
对象之间是通过消息进行通信的。;1.2.1 C++语言对面向对象程序设计方法的支持
(1) 支持数据封装
将数据和对该数据进行合法操作的函数封装在一起
对数据访问严格控制
(2) 支持类成员的3种访问权限
私有(private)成员:只有在类中说明的函数才能访问私有成员
公有(public)成员:所有类都能访问,这是该类的对外接口
保护(protected)成员:类内函数和该类的派生类能访问
(3) 支持通过发送消息处理对象
C++语言中,每个对象根据所接收到的消息的性质来决定需要采取的行动,以响应这个消息。
送到一个对象的所有可能的消息在对象的类描述中都需要定义,即对每个可能的消息给出一个相应的方法。;(4) 支持友元
类的私有成员一般是不允许该类外面的任何函数访问的,但是友元可打破这条禁令。
类中函数如果是友元,就称为友元函数。
类中所包含的类如果是友元,就称为友元类,友元类的所有成员函数都是
文档评论(0)