面向对象和所谓的“面向过程”.pdfVIP

  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文档。上传文档
查看更多
面向对象和所谓的“面向过程”

面向对象和所谓的 “面向过程” I.面向对象(Object-Oriented,OO)综述 公认的面向对象是一种“思想”,更精确地说是一种方法学(methodology)。面向对象编 程(OOP)、面向对象分析(OOA)、面向对象设计(OOD)等范畴是对此的衍生。容易理解,OOP 指使用OO 的方法进行编程;OOA 和OOD 分别指使用OO 的方法进行系统分析与设计(可 以合称OOAD),是OO 方法学在软件工程上的应用。对于使用OO 方法学的软件开发,OOP 是基础也是具有更强的普遍性(即便使用OO 方法,也并非所有的软件都有必要使用系统化 的OOA 和OOD进行开发),通过OOP 可以反映OO 在编程实践中的重要应用,因此本文 着重论述OOP 的有关内容。关于OOAD,读者可以在了解OOP 的基础上自行学习。 II.编程范型(programingparadigm) 编程范型是计算机编程中的一种基本方式[en.wiki:programmingparadigm]。OOP 和命令 式编程(imperative programing) 、函数式编程(functional programing) 、逻辑编程(logical programing)并列,是当前主流的编程范型[KurtNørmarks]。此外还有结构化(structured)、声 明式(deriective)、面向方面(aspect-oriented)、数据驱动 (data-driven)、泛型(generic)、并行 (parallel)、元编程(metaprograming)等各种范型。 应该注意的是,这些范型并不都是同一层次上的风格,且由于分类方法的不同,不都是 互斥的。当然也有些范型是对立的:结构化与非结构化(non-structured),但这是少数。因此 通常在同一段程序中使用了一种以上的编程范型,只强调其中的一部分。 III.结构化编程(structued programing)、命令式编程(imperative programing)和过程式编程 (proceduralprograming) 早期的程序没有强调任何范型,是非结构化的。结构化程序由子程序的执行、选择、迭 代构成,无需跳转。 命令式编程是一种重要的编程范型。它和声明式编程相对,强调特定路径执行的步骤(控 制流)使程序的状态向预期改变,而非和执行路径无关的计算逻辑的表达。大部分硬件实现 的体系结构都直接支持命令式范型。可执行的语句作为语言特性,是支持命令式编程的重要 特征。 过程式编程有时被看作是命令式编程的同义词,也可以表示一种基于结构化编程和过程 调用(procedual call)的编程范型[en.wiki Proceduralprogramming]。过程 (或例程、子例程、 方法、函数——注意不要和函数式编程混淆)在这里是可以通过调用这一手段被重复执行 的程序片段,作为语言特性,是支持过程式编程的语言的重要特征。 下文中提及的过程式编程都指第二种含义,而第一种直接称为命令式编程。 无论是命令式还是过程式的编程范型都被许多编程语言广泛支持。对于Pascal、C、C++、 Java 等语言,两者都是最基本的(使用时几乎无法避免的)范型,而结构化结构化通过这两 个范型的上层被体现。 IV.作为编程范型(programingparadigm)的OOP OO程序可以看成一系列对象的交互,而不是如传统的过程式编程那样执行一系列任务 (过程)。 如OO 字面所说,对象(object)是其中的一个要素。 OOP 中每个对象都有能力接收、处理和向其它对象发送消息(message),可以被看作具 有不同角色或职责的独立单元。对象的动作 (或“方法(method)”)与之紧密相关。例如,OOP 数据结构倾向于携带自身的操作 (或至少从类似的对象或类“继承”)。 对于过程式编程,程序可以被分解为若干过程。OOP 的做法不同——它分解程序为若 干对象和对象的交互 (尽管其中的“方法”仍然可以扮演过程式编程中的过程的角色)。 传统的过程式编程中过程对数据的访问是不加外部限制的,而OOP 的做法不同——它 使用访问权限控制等特性,强调封装,鼓励程序员使某一部分的数据仅可被特定的程序片段 (过程)访问,以减少可能发生的错误。 对象和消息是OOP 的核心。OOP 和对类型系统的抽象导致类(class)概念的出现。使用 类作为核心特性的语言实现OOP 的基于类的风格的 (class-based

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档