第五章_信息基础设施[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文档。上传文档
查看更多
面向过程 所谓面向过程的程序设计是:用结构化编程语句来编写程序。它把一个复杂的程序分解成若干个较小的过程,每个过程都可以单独地设计、修改、调试。其程序流程完全由程序员控制,用户只能按照程序员设计好的程序处理问题。 过程化编程模式: 参数输入----- | 代 码 | ------结果输出 在面向过程的程序设计方法中,问题被看作一系列将被完成的任务,如读、计算和打印。许多函数用于完成这些任务。问题的焦点集中于函数。下图显示了一个典型的面向过程的程序结构。分层分解的技术被用来确定一系列需要被完成的任务,以解决特定的问题。 函数-算法之间关系 现在的基本任务是编写计算机执行的指令序列,并把这些指令以函数的方式组织起来。当开发函数的时候,很少会去注意那些被多个函数使用的数据。在这些数据身上发生了什么事情?那些使用这些数据的函数又对它们产生了什么影响? 程序规模的增长。程序设计的重点从重于过程设计转向重于对数据的组织。数据和直接操作数据的一集函数合称为一个模块。程序设计的风格变为:决定需要那些模块 和分解程序,使得数据隐藏在不同的模块之中 数据隐藏 模块化编程发展成为将某种类型的数据集中置于一个类型管理模块的控制之下的编程风格。 如果需要多个数据实例? 允许用户定义和内建类型行为相似的“类型”来解决这个问题。这种“类型”通常称为“抽象数据类型”。于是,编程风格变为: 决定需要那些类型 为每一个类型实现一组完整的操作 不需要为一个类型生成多个对象的场合可以只使用数据隐藏技术。 复数等算术类型是抽象数据类型的常见例子: 数据抽象 class complex{ doube re, im; public: complex(double r, double i) { re =r ;im = i; } complex( double r) { re=r; im = 0; } //float-complex conversion friend complex operator+(complex,complex); friend compelx operator-(complex,complex); //binary minus firend complex opeator-(complex);//unary minus friend compelx operator*(complex,complex); friend complex operator/(complex,complex); //... } 数据抽象 没有将各种形状的一般性属性和特定的专有属性分开。 对这种区分的表达和利用形成了面向对象的编程。 只有可以用来直接表达这种区分的语言才是支持面向对象的。 编程的风格变为: 决定需要那些 对象 为每一个对象提供完整的操作 使用继承明确地获得一般性 而在不需要表达一般性的场合可以只使用数据抽象。通过继承和虚函数可以发掘出的类型之间的共性的多少是衡量面向对象编程技术是否适用于特定应用领域的核心标准。 数据抽象的问题 面向对象 有两个机制在支持面向对象编程中起了基本的作用, 第一个是类的继承机制; 第二个是,当在编译时无法确定一个对象的实际类型时,应当能够在运行时基于对象的实际类型来决定调用的具体方法。 其中,对于方法调用机制的设计是关键。 面向对象 面向对象的语言包含4个基本的分支: 基于Smalltalk的; 包括smalltalk的5个版本,以Smalltalk-80为代表。 基于C的; 包括 objective-C, C++, Java 基于LISP的; 包括 Flavors, XLISP, LOOPS, CLOS 基于PASCAL的。包括 Object Pascal, Turbo Pascal, Eiffel, Ada 95 面向对象把数据看作程序开发中的基本元素,并且不允许它们在系统中自由流动。它将数据和操作这些数据的函数紧密的连结在一起,并保护数据不会被外界的函数意外的改变。允许我们将问题分解为一系列实体——这些实体被称为对象(object),然后围绕这些实体建立数据和函数。 面向对象 面向对象 功能是通过与对象的通讯获得的。对象可以被定义为一个封装了状态和行为的实体; 消息是对象通讯的方式,因而也是获得功能的方式。对象受到发给他的消息后,或者执行一个内部操作(有时成为方法或过程),或者再去调用其他对象的操作。 所有对象都是类的实例。类是具有相同特点的对象的集合,或者也可以说,类是可用于产生对象的一个模版。 对象响应一个消息而调用的方法,由接受该消息的对象自己决定。 面向对象中的主要概念 OO ? Object-Oriented 抽象性 封装性

文档评论(0)

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

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

1亿VIP精品文档

相关文档