- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C7章8章
Visual C++程序设计 第七章 面向对象程序设计 软件开发技术经历了从: 简单模拟 复杂计算 软件开发思想经历了从: 低级 高级的进化过程 因此产生了许多软件设计范型。 面向对象思想是其中一种设计范型。 7.7.1 面向对象思想产生的必要性 在程序开发和应用领域,困扰软件开发人员的两大问题: 如何克服系统复杂性的障碍; 如何在计算机系统中自然的表示客观世界,即对象模型。 系统复杂性的障碍主要表现在如下三个方面: (1) 系统分析人员、系统设计人员和程序实施人员之间不能很好地直接沟通 。 (2) 在程序实施过程中管理的复杂性 。 (3) 必须正确地处理大量的系统状态以及中间状态。 大型程序的特点和要求决定了大型程序系统的设计必然要走模块化道路,重点在于模块的连接和相互作用。 不同的分解方法,对系统的效率及复杂性的控制有着很大的影响。有两种分解模块的方法。 第一种是基于功能的模块分解方法,基于这种分解方法的大型程序设计称为“横向模块化程序设计”。 第二种方法是基于数据抽象的模块分解方法。基于这种分解方法的大型程序设计称为“纵向模块化程序设计”。 (对于大型程序或复杂程序,正确性仍是程序的首要目标,也是最基本的要求)。但是,仅仅有正确性还是远远不够的,易维护性、可读性和可重用性对于大型程序都是非常重要的。 易维护性是指当程序在出现错误时,能得到及时改正,且对程序其它部分没有影响或影响较小。 可读性是指程序易于理解、便于使用和调试。 可重用性是指在一个程序中开发的通用模块能够在其它程序中使用。 面向对象方法吸取了程序设计语言和数据建模技术等有益的成果,逐渐形成了自己的范型。 面向对象是软件程序设计中的一种新思想,由于这种新思想的引入,使我们的程序设计更加贴近现实,使系统设计、分析和实施等过程有一种统一的符号和语言,从而使系统分析人员、系统设计人员、实施人员之间能够更便利地沟通。另一方面,面向对象思想能够提供高效的代码共享机制,从而使软件重用获得生机。 面向对象的历史是与软件主流史并行发展的。 7.1.2 面向对象的内涵 通过面向对象方法可以把一组看似相互之间毫无联系的对象有效地集成在一起。 面向对象技术追求的是软件系统对现实世界近似的或直接的模拟,它尽可能实现将现实世界中的事物直接映射到软件系统的解空间。 7.2 面向对象程序设计 面向对象程序设计(OOP)是通过为数据和代码建立分块内存区域的方法来对程序进行模块化设计的一种程序设计方法。 面向对象程序设计方法是在利用面向对象思想的基础上,通过增加软件的可扩充性和可重用性,来改善并提高程序员的生产能力,并能控制软件的复杂性和软件维护的开销。在使用面向对象程序设计方法时,软件开发的分析和设计阶段能更加紧密地与实施阶段相联系。 7.2.1 结构化程序设计 结构化程序设计的基本思路是:功能分解、逐步求精。 结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的手段,从而有效地将一个较复杂的程序系统的设计任务分成许多易于控制和处理的子任务。 结构化是一种面向数据/过程的设计方法,它把数据和过程分离为相互独立的实体,程序员在编程时必须时刻考虑所要处理的数据的格式。 7.2.2 面向对象程序设计 OOP包括:定义抽象数据类型(ADTs);用抽象数据类型表达复杂真实世界或抽象对象;用发现共同特征的观点围绕ADTs组织程序。数据抽象就是指定义抽象数据类型的过程,而继承性和多态性是一种使程序设计人员能充分利用抽象数据类型的优点的机制。 OOP只是一种设计与实现软件的思想。 但是OOP和程序设计语言无关。 面向对象=数据抽象十信息隐蔽十继承性十动态连接 。 面向对象程序设计的基本特点: 1.模块性。 2. 封装功能:为信息隐蔽提供具体的实现手段 3. 代码共享:继承性提供了代码共享的手段 4. 灵活性。 5. 易维护性:对象实现了抽象和封装 6. 增量型设计:可通过继承机制不断扩充功能 面向对象程序设计与结构化程序设计的区别体现在以下几个方面: 1. 模块与对象。 2. 过程调用与消息传递。 3. 类型与类。 4. 静态连接与动态连接。 7.2.3 面向对象程序设计语言 计算机程序设计语言的发展可分为如下几个阶段: 面向机器的低级语言:线性程序设计。 面向过程的高级语言:结构化程序设计。 面向对象的语言:用语言中的对象和类直接模拟现实世界中的对象,使软件
您可能关注的文档
最近下载
- 统编版高中历史选择性必修1第六单元 基层治理与社会保障 综合检测试卷(含答案解析).docx VIP
- 公务员管理有关业务流程图.pdf VIP
- GB50045-95高层民用建筑设计防火规范97年版.pdf VIP
- 《建筑结构平法识图》课程标准.doc VIP
- 《税法》课程思政说课.pdf VIP
- 2025款比亚迪秦PLUS DM-i智驾版_用户手册驾驶指南车主车辆说明书电子版.pdf VIP
- 易飞ERP操作手册.pdf VIP
- 统编版高中历史选择性必修1第五单元 货币与赋税制度 综合检测试卷(含答案解析).docx VIP
- 网络安全等级保护(等保2.0)3级建设内容设计方案 .pdf VIP
- 不动产登记代理人《不动产权利理论与方法》题库(含答案).docx VIP
文档评论(0)