2021年度面向对象程序设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 面向对象程序设计 3.1 面向对象程序设计思想 3.1.1 历史回顾 1967年挪威计算中心Kisten Nygaard和Ole Johan Dahl开发了Simula67语言,它提供了比子程序更高一级抽象和封装,引入了数据抽象和类概念,它被以为是第一种面向对象语言。20世纪70年代初,Palo Alto研究中心Alan Kay所在研究小组开发出Smalltalk语言,之后又开发出Smalltalk-80,Smalltalk-80被以为是最纯正面向对象语言,它对日后浮现面向对象语言,如Object-C,C++,Self,Eiffl都产生了深远影响。随着面向对象语言浮现,面向对象程序设计也就应运而生且得到迅速发展。之后,面向对象不断向其她阶段渗入,1980年Grady Booch提出了面向对象设计概念,之背面向对象分析开始。1985年,第一种商用面向对象数据库问世。1990年以来,面向对象分析、测试、度量和管理等研究都得到长足发展。 事实上,“对象”和“对象属性”这样概念可以追溯到20世纪50年代初,它们一方面浮现于关于人工智能初期著作中。但是浮现了面向对象语言之后,面向对象思想才得到了迅速发展。过去几十年中,程序设计语言对抽象机制支持限度不断提高:从机器语言到汇编语言,到高档语言,直到面向对象语言。汇编语言浮现后,程序员就避免了直接使用0-1,而是运用符号来表达机器指令,从而更以便地编写程序;当程序规模继续增长时候,浮现了Fortran、C、Pascal等高档语言,这些高档语言使得编写复杂程序变得容易,程序员们可以更好地对付日益增长复杂性。但是,如果软件系统达到一定规模,虽然应用构造化程序设计办法,局势仍将变得不可控制。作为一种减少复杂性工具,面向对象语言产生了,面向对象程序设计也随之产生。 3.1.2 什么是面向对象程序设计 一方面咱们要理解是,什么是面向对象程序设计办法OOP(Object Oriented Programming),它与老式构造化程序设计办法SP(Structure Programming)重要区别是什么。 要弄清什么是OOP,则应理解和回顾一下老式构造化程序设计办法及其设计思想、程序构造与特点,以便比较对照两者之间差别,由此领略OOP对SP继承、丰富、发展和突破。 1.构造化程序设计思想 构造化程序设计SP是60年代诞生,以针对当时爆发所谓“软件危机”挑战,而在70、80年代遍及全球成为所有软件开发设计领域、每个程序员都广为采用老式构造化程序设计办法与技术简称。它产生和发展形成了当代软件工程学基本。 SP总设计思路是两点:一是自顶向下,层次化;二是逐渐求精,精细化。 其程序构造是按功能划分基本模块为树型构造,使模块间关系尽量简朴、独立,并从而单独验证模块对的性。每一模块均由顺序、选取和循环三种基本构造组合而成。综言之,此即所谓“模块化”。 因而,SP程序基本特点是: a.按层次组织模块。(即战略上划分战役) b.每一模块只有一种入口,一种出口。(每一战役尽量简朴、明确) c.代码和数据分离实现。(战术上程序=数据构造+算法) SP实现上述战略战术详细办法和技术是:使用局部变量和子程序。 SP长处可以概括为: a.子程序对程序其他某些没有或尽量少连带作用,从而为共享代码奠定基本。 b.由于SP办法模块化分解与功能抽象,自顶向下,分而治之手段及技术,从而能有效地将一种复杂、中大规模程序系统设计任务提成许多易于控制和解决、可独立编程子任务、子程序模块。 c.对于上述子程序或模块中每一种均有一种清晰抽象界面,它只阐明:相应用程序设计者来说只需理解它做什么(What to do),而不必阐明:它如何去做(How to do)。 但从本质上说,由Pascal和C这样程序设计推动老式SP仍是一种面向数据和过程设计办法,它把数据和过程分离为互相独立实体,用数据代表问题空间中客体借以表达实际问题中信息;程序代码则体现用于解决加工这些数据算法。 于是,程序员在编程时必要时刻考虑要解决数据构造和类型,对不同数据格式(构造和类型)虽然要作同样解决计算,或者对于相似数据格式要作不同解决都要编写不同程序,可见,使用老式SP办法设计出来程序或系统,其可重用成分很少。另一方面,当把数据和代码作为不同分离体时,总存在着用错误数据调用对的程序,或用对的数据调用错误程序危险。因而,使数据与程序始终保持相容一致,已成为程序员一种沉重承担。这就是为什么在开发一种大型软件过程中,如果顾客在工程中、后期对数据格式或实现方案提出任何变化祈求时,变化摧毁了前面工作一切,前功尽弃。 2.面向对象程序设计思想 为了克服和解决当今许多大型软件项目和系统设计都接近或达到了SP办法所难以控制解决和适应其变化上述种种矛盾及问题而产生了OOP办法与技术。

文档评论(0)

159****1748 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档