- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象技术及应用复习面向对象技术及应用复习
2013 复习要点
面向对象方法有哪些特点?
模块性:对象是一个功能和数据独立的单元,相互之间只能通过对象认可的途径进行通信。互相没有预料不到的影响,也可以较为自由地为各个不同的软件系统所重用:
封装功能:为信息隐蔽提供具体的实现手段,用户不必清楚对象的内部细节,只要了解其功能描述就可以使用:
代码共享:继承性提供了一种代码共享的手段,可以避免重复的代码设计,使得面向对象的方法确实有效;
灵活性:对象的功能执行是在接收到消息时确定的,使得对象可以根据自身的特点进行功能实现,提高了程序设计的灵活性:
易维护性:对象实现了抽象和封装,使其中可能出现的错误限制在自身,传播,易于检错和修改: 不会向外传播,易于检错和修改。
增量型设计:面向对象系统可以通过继承机制不断扩充功能,而不影响原有软件的运行;
局部存储与分布处理:每个对象通过数据抽象和数据隐蔽将其内容和状态置于自身独立的存储结构中。对象的处理也是自治的,由对象构成的整个系统的运行和处理是分布式的.
面向对象程序设计与大型程序设计有哪些关系?
面向对象方法提供了一种有效的分解方法,它进一步发展了基于数据抽象的模块化设计,在数据抽象和抽象数据类型之上又引入了动态连接和继承性等机制,这样不但支持了大型程序设计,同时支持了小型程序设计。
面向对象的设计方法包括两大过程:第一是战略性过程,我们称之为面向对象设计,它是脱离具体程序系统可以独立存在的一种设计方法;第二是战术性过程,我们称之为面向对象程序设计,它具体解决程序设计中各项操作的实现,这一过程是要与一种具体的程字语言相联系的。如果写出一个公式,就是 软件系统设计=面向对象设汁+面向对象程序设计 从这个公式可以看出,面向对象设计的前后两个过程,恰恰分别支持了大型程序设计与小型程序设计。
有哪些面向对象语言?
Smalltalk c++ objective-c Eiffel Ctalk java c#
面向对象设计方法与其它设计方法的比较?
横向比较
从横向来看,当前程序设计领域中研究的重点,根据对计算过程的不同认识可分为三种:
第一,函数式程序设计(FP)将计算过程看作函数作用过程,即将某一系列函数作用于
输入得到输出的过程,其中强调等值替换,逻辑程序设计则无法做到这一点;
第二,逻辑程序设计(LP)将计算过程看作推演过程,即将具有初始状态的输入在一系列条件的约束下,采用推理算法和搜索手段进行匹配、演算的过程,有利于启发式;
第三,面向对象的程序设计(OOP)则将计算过程看作分类过程加状态变换过程,即系统逐步划分为相互关联的多个对象并建立这些对象的联系,以引发状态变换,最终完成计算。
面向对象方法模拟了人类认识问题的较高、较广层次的过程,即分类过程,属于战略性方法;函数和逻辑方法则更适合于模拟人的逻辑思维,处于人类认识问题的较深层次过程,属于战术性方法,因此它们各有侧重点,如果能将它们结合才是最完美的。
纵向比较
结构化程序设计强调了功能抽象和模块性,它将解决问题的过程看作是一个处理过程;而面向对象的程序设计则综合了功能抽象和数据抽象,它将解决问题看作是一个分类演绎过程。
模块与对象:结构化设计中模块是对功能的抽象,每个模块都是一个处理单位,它有输入和输出。而对象是包括数据和操作的整体,是对数据和功能的抽象和统一。可以说,对象包含了模块概念,但比模块更强大;
过程调用与消息传递:在结构化程序设计中,过程为一独立实体,显式地为它的使用者所见;而在面向对象的程序设计中,方法是隶属于对象的,它不是独立存在的实体,而是对象的功能体现。消息传递机制很自然地与分布式并行程序、多机系统和网络通讯模型取得了一致。
第三,类型与类:类型与类都是对数据和操作的抽象,即定义了一组具有共同特征的数据和可以作用于其上的一组操作,但是类型仍然是偏重于操作抽象的,而类是集成数据抽象和操作抽象的,二者缺一不可。同时类引入了继承性质,实现了可扩充性。第三章将详细讨论这一问题。
静态连接与动态连接:从程序设计发展来看,用户对灵活性和方便性的要求不断增强,所以动态连接代替静态连接是必然趋势,计算机硬件速度的提高弥补了动态连接的低效性,为此提供了基础。显然,面向对象在这一方面与结构化设计相比占有优势。
解释以下概念:对象;消息;封装;协议;类;继承;
对象 是对于客观事物的一种表示,在计算机中表示为能对外通信的数据以及对该数据施加的各种操作的封装体,在抽象计算概念-是具有输入和输出的有限状态自动机。
消息 就是对象之间相互请求或相互协作的途径。
封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。是为实现各式各样的
您可能关注的文档
- 中英对照_光纤通信系统仿真中对照_光纤通信系统仿真.doc
- 中西方在养老孝道方面的差异中方在养老孝道方面的差异.doc
- 中英合作自考《金融管理》与《务管理》课程改革说明中英合作自考《金融管理》与《商务管理》课程改革说明.doc
- 钟表站安全生产管理制度钟表站全生产管理制度.doc
- 重点部位防火管理制度重点部位火管理制度.doc
- 重庆市交通运输企业落实安全生主体责任评估细则重庆市交通运输企业落实安全生产主体责任评估细则.doc
- 重症监护室(icu)医院感染测方案00重症监护室(icu)医院感染监测方案00.doc
- 周士量--班组建设与班组长管实战周士量--班组建设与班组长管理实战.doc
- 周口市山水郡府综合社区工程高模板支撑方案修改421(第三次修改)周口市山水郡府综合社区工程高大模板支撑方案修改421(第三次修改).doc
- 周新河大桥挖孔桩施工技术方案新河大桥挖孔桩施工技术方案.doc
文档评论(0)