《高级语言程序设计》课件第9章从C到C++.pptx

上传人(卖家):momomo 文档编号:7650644 上传时间:2024-05-23 格式:PPTX 页数:10 大小:120.91KB
下载 相关 举报
《高级语言程序设计》课件第9章从C到C++.pptx_第1页
第1页 / 共10页
《高级语言程序设计》课件第9章从C到C++.pptx_第2页
第2页 / 共10页
《高级语言程序设计》课件第9章从C到C++.pptx_第3页
第3页 / 共10页
《高级语言程序设计》课件第9章从C到C++.pptx_第4页
第4页 / 共10页
《高级语言程序设计》课件第9章从C到C++.pptx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、第9章 从C到C+9.1 从结构化程序设计到面向对象程序设计9.2 C+与C的区别第9章 从C到C+9.1 从结构化程序设计到面向对象程序设计第9章 从C到C+结构化程序设计是一种程序设计方法,该方法的目的是提高程序代码的质量,使得程序清晰易读。程序代码通过块结构、for和while循环结构,当然也包括子程序(如函数调用)来实现程序的运行。C语言是典型的结构化程序设计语言,当然结构化程序设计语言也允许面向过程的编程。结构化程序设计方法起源于20世纪50年代末期,随着ALGOL58等语言的出现,以及其后ALGOL60语言中出现了对块状结构的支持,在学术界和程序设计人员中逐步形成了结构化程序设计的

2、思想,并进一步在60年代形成了结构化程序设计理论。该理论明确提出任何可计算的功能均可以由一组有序的控制流程实现,如果该流程包含三种控制结构,分别是顺序结构、选择结构和循环结构。结构化程序设计的层次结构如图9-1所示。第9章 从C到C+随着程序设计语言以及信息化技术的发展,人们在使用结构化程序设计方法时,逐步认识到了该方法的局限性。该方法的灵活性较差,进行程序设计时没有对软件的系统的设计和实现进行合理的分工,后期的维护任务较重,程序人员总是在修改代码。虽然自上而下、逐步细化的编程方法可以将复杂问题简单化,但是经研究与实践证明,建立在函数、控制流程基础上的程序并不是最稳定的程序结构;它把数据和处理

3、数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,或许更关注于数据结构而不是程序结构是更好的选择。综上所述,我们会发现,结构化程序设计常让人诟病的一点是无法应对软件需求变化,或者说需要付出极大的代价才能满足需求的变化,而这也正是面向对象的程序设计方法提出的原因,以及其在当前程序设计领域广泛应用的基础。面向对象的程序设计方法,其基础为对象,对象中可以包含数据(或者叫做属性)和代码(也称作行为)。对象的一个特点是,程序可以经常访问和修改与它相关的数据。由于大部分流行的编程语言是基于类的,因此面向对象编程有显著的多样

4、性。面向对象的编程方法有四个基本特征,分别是抽象、封装、继承和多态。在结构化编程中,分别管理的程序处理流程与数据处理带来了程序编写的复杂性,为了保持处理和数据的一致,提出了数据抽象技术。当多个相同事物或者有共性事物出现时,应该组合到一起进行分析处理,对某类具体事物进行概括,提取出共性的部分,即抽象。抽象的方法是一种从一般的观点看待事物的方法,它集中于事物的本质特征,而不是具体细节或具体实现。人们在认识自然、认识社会的过程中,通过归纳,从一个个具体的事物中把共同的特征抽取出来,形成了一个一般的概念;而对于同类的事物,根据不同的特征分成不同的小类或者许多具体的个体,我们就管这些个体叫做“对象”。第

5、9章 从C到C+抽象包括两个方面的内容,即数据抽象和行为抽象。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过这些操作修改和观察。数据抽象就是用代码的形式表示某类事物的特性,即对象的属性或状态,并限定了对象的个性,只能通过使用这些操作修改和观察。封装是把抽象出来的行为和数据放到一起,对对象的数据的访问只能通过已定义的规则。现实世界可以被描绘成一系列不同的完全自我管理的封装的对象,与对象的交流或不同对象间的交流通过一个受保护的接口实现。封装隐藏了对象的内部实现机制,可以对内部数据实现不同级别的保护,也可以在不影响其他使用者的前提下改变对象的内部结构。面向对象程序设计中的

6、抽象与封装,具体表现在“类”的概念上。类是对象中共同数据和行为的抽象,通过类的代码的实现,完成对对象的数据和行为的封装。类是对事物的抽象描述,即对事物的共性的抽象;对象则是一事物区别于他事物的特殊性质,即事物的个性。每一事物既有共性又有个性。共性决定事物的基本性质;个性揭示事物之间的差异。类的概念为面向对象的程序设计提供了一种明确的描述事物共性的方法,而如何实现对个性的明确描述则是通过“继承”这一机制实现的。只有通过继承才可以在共性的基础上派生出个性。继承实现了连接类的层次,支持类的重用。通过继承,可以在无需重新编写原来的类的情况下对它的功能进行扩展。通过继承,较低层的类只需定义专属于它的个性

7、特征,而共享高层类中的共性特征,并且可以通过新增或者修改数据和行为,使之更符合特定的需求。多态是指允许不同类的对象对同一行为作出响应。比如加法,两个整数可以相加,两个时间也可以相加,但是它们的意义和结果是完全不同的。不同的对象可以调用相同名称的方法,并可导致完全不同的行为的现象称为多态性。前面的封装将数据第9章 从C到C+和行为封装起来起到了对数据的保护,但是如何适应事物的变化,则通过多态性中接口的概念,通过对行为的抽象,为不同的类提供通用的处理服务,即同一段程序能够处理多种类型的对象,从而达到系统的可维护性和可扩展性。因此面向对象能实现人们追求的系统可维护性、可扩展性和可重用性。面向对象是一

8、种编程思想,起初,“面向对象”是专指在程序设计中采用封装、继承、多态等设计方法,但面向对象的思想已经涉及软件开发的各个方面,比如现在细分为了面向对象的分析(OOA)、面向对象的设计(OOD)和面向对象的编程实现(OOP)。第9章 从C到C+9.2 C+与C的区别第9章 从C到C+程序设计语言C+是在C语言基础上发展而来的,但是不能认为它是C语言的升级,更不能说它是C语言的替代品。C语言是一个结构化的程序设计语言,它的重点在于算法和数据结构,因此才会有著名的公式:算法+数据结构=程序。使用C语言,程序设计首要考虑的是如何通过一个过程,对输入进行运算处理,得到输出或实现过程控制。虽然C+不被认为是

9、完全面向对象的程序设计语言,但是它具备了基本的面向对象的程序设计方法的思想和特征。使用C+语言,出发点是从如何构造一个对象模型着手,进而通过获取对象的状态信息得到输出或实现过程控制。对语言本身而言,由于C+兼容C语言,因此C语言可以看成C+的子集,C语言帮助C+实现过程控制,从而使C+更专注于程序的设计这一概念。1头文件首先,C+语言兼容C语言,也就是说,C语言代码中的头文件可以用于C+程序中;但是C+有自己的标准,C+对于头文件不再使用文件扩展名,仅使用文件名,即C+中的标准输入/输出,而不是。和不仅仅是一个没有后缀、一个有后缀的区别。实际上,二者是两个不同的文件,打开文件就会发现,里面的代

10、码也是不一样的。对于后缀为“.h”的头文件,C+标准已经明确提出不支持了。同样的,对于其他头文件,C+也有相应的变化和要求,如处理字符串类,需要使用,处理数学函数,需要使用。第9章 从C到C+2命名空间程序中第二行告诉编译程序使用std命名空间。C+标准中引入命名空间的概念,是为了解决不同模块或者函数库中相同标识符冲突的问题。有了命名空间的概念,标识符就被限制在特定的范围(函数)内,不会引起命名冲突。这条using语句通知编译程序,程序需要使用std命名空间;C+标准程序库中的所有标识符都被定义于一个名为std的命名空间中。3主函数C+98中定义了如下两种main函数的定义方式:int mai

11、n()等同于C语言标准C99中的int main(void);int main(int argc,char*argv)的用法也和C语言标准C99中定义的一样。虽然在有些编译器中,使用void main()可以通过编译,但是C+中从来没有定义过void main(),因此许多编译器中不支持void main()。所以,如果想让程序拥有很好的可移植性,则一定要用int main()。main函数的返回值类型必须是也只能是int。如果main函数的末尾没有写return语句,则C+98规定编译器要自动在生成的目标文件中加入“return 0;”;但是并不是所有的编译器均实现了这一点,因此建议在程序末

12、尾主动加入“return 0;”。main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;否则代表程序异常退出。第9章 从C到C+4标准输入/输出的变化输入和输出并不是C+语言中的正式组成成分,C+本身并没有为输入和输出提供专门的语句结构。C+的输入和输出是通过流对象实现的,流对象cin、cout和流运算符等信息存放在C+的输入/输出流库中,因此如果在程序中使用cin、cout和流运算符,就必须使用预处理命令把头文件iostream包含到程序中,即在不发生混淆的情况下,为了叙述方便,常常把由cin和流提取运算符“”实现输入的语句称为输入语句或cin语句,把由cout和流插入运算符“”实现输出的语句称为输出语句或cout语句。根据C+的语法,凡是能实现某种操作而且最后以分号结束的都是语句(1)输入语句。输入语句cin语句的一般格式为(2)输出语句。输出语句cout的一般格式为

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《高级语言程序设计》课件第9章从C到C++.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|