++第1章.pptVIP

  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章

* 类本身还是一组对象共同属性和操作的抽象。类代表了一般性,而该类的每一个对象代表了具体性。 * 1.2.2继承 继承是面向对象语言的另一个重要的概念。在客观世界中,存在着整体和部分的关系(a part of )、一般和特殊的关系(is a 或 a kind of ),实现了重用性和扩充性。 * A is a part of B. A is a kind of B. * 例: 人与学生的关系(继承) 点与圆(心)的关系(包含) 点与多边形(顶点)的关系 * 例: 将一个人当成对象,对于人的定义(如名字、年龄、性别等等)和对人的操作(取名字、打印一个人的各种信息等等)已经封装在Person类中了;下面将学生当成对象,学生是一类特殊的人,基本的信息和操作已经Person中定义过了,为了避免重复定义C++允许用户将学生类Student说明为Person类的继承类。 * person student * 这样,Student类就可以不必在考虑对于人的基本信息的定义和操作了,继承机制允许学生类从人类中继承人的所有数据和操作,学生类只需要考虑学生特殊的信息的定义和对学生本身的操作即可。 * 1.2.3多态性 面向对象另外一个核心概念是多态性。所谓多态,是指一个名字(或符号)具有多种含义。 利用超载(或称为重载overload)方式实现多态性。 有函数和运算符超载。 * 函数的名字有两个作用: 1)代表了该函数的函数体(那段代码); 2)代表了该函数的功能。 * 在传统的语言中,不允许函数有同名的情况,考虑的是函数名的第一个作用;而在面向对象的程序设计语言中,如果发现多个函数的功能是一致的,尽管他们确实是不同的函数,但允许它们具有相同的函数名字,即存在同名函数。 * 对于函数重载,若函数调用(界面)与哪一个函数体(函数实现)相匹配,是在编译时确定的,称为早期匹配(或静态联编)。如果函数调用与哪一个函数体的匹配是在运行时动态进行的,称之为晚期匹配(或动态联编)。 * 一般来说,早期匹配执行速度比较快,晚期匹配提供灵活性和高度的问题抽象。 ? * 1.4 面向对象的思想和方法 1.4.1 面向对象是一种认知方法学 认知方法: 从一般到特殊的演绎方法 从特殊到一般的归纳方法。 * 面向对象提供了从一般到特殊的演绎手段,又提供了从特殊到一般的归纳形式,从而说明它是一种很好的认知方法。这种分类、归纳的方法在面向对象设计技术中是很重要的。 * 1.4.2 面向对象方法与结构化程序设计方法 1.模块与对象 ? 结构化程序设计中,模块是对功能的抽象。而对象是包括数据、操作的整体,将数据和功能的抽象统一。可以说,对象包含了模块。。 * 2.过程调用与消息传递 ? 在结构化程序设计中,过程为一独立实体,显式地被它的使用者所见,而且,对于相同的输入参数,每一次过程调用,其输出结果是相同的。 * 在面向对象的程序设计中,对象是一台自动机,对象的状态只能由对象的操作改变它。C++语言用函数实现操作。每当需要改变状态的时候,只能由其他对象向该对象发送消息(在C++中,借助于成员函数调用来实现消息发送)。 * 对象响应消息后,按照消息模式找出匹配的操作,并执行该操作。应该注意,发送消息和过程调用的意义是不同的,发送消息只是触发自动机,同样的输入参数,可能因自动机状态不同,其输出结果也不同。 * 1.4.3对象是抽象数据类型的实现 抽象是一个系统的简化描述,它强调了系统的某些特性而忽略了其他特性。对于用户来说,所关心的是程序能做什么,而不是它的实现细节。 * 而抽象恰好可以用来对用户所关心的重要信息予以强调,而忽略不重要的信息。 * 整个程序设计语言的发展过程就是抽象层次不断提高的过程。 * 1.5 面向对象的程序设计语言 80年代早期,AT T贝尔实验室的Bjarne Stroustrup及其研究小组将C扩展为C++——一个支持面向对象概念的C语言。 * 面向对象的概念和方法是当前软件开发中最接近问题的一种较好方法。 * 1.6 面向对象的软件开发包含的内容 面向对象的软件开发与其他的软件开发过程基本一致,但要在软件工程领域中加入面向对象的方法,包括以下内容: 1、面向对象的分析(OOA); 2、面向对象的设计(OOD); 3、面向对象的编程(OOP); 4、面向对象的测试(OOT); 5、面向对象的软件维护(OOSM); * 1.7 C++与C的关系 C++是C的超集,是一个更好的C,事实上, 合法的C程序也是合法的C++程序。 学习了C 为学习C++奠定了基础。 C语言源程

文档评论(0)

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

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

1亿VIP精品文档

相关文档