- 1、本文档共133页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GIS中面向对象技术 第五讲 面向对象的概念 开发模式 什么是面向对象 对象 类 消息 继承 开发模式(Paradigm) 开发模式又称为范型、范例、风范或模式(Pattern)。开发模式定义了 特定问题和应用的开发过程中将遵循的步骤; 确定将用于表示问题和解的那些成分的类型; 利用这些成分表示与问题解决有关的抽象; 直接得到问题的结构。 开发模式的选择影响到整个软件开发生存期。就是说,它支配了 设计方法 编码语言 测试和检验技术 的选择 面向过程开发模式 面向过程开发模式产生过程的抽象。 这些抽象的基础是把软件视为处理流,并定义成由一系列步骤构成的算法。 每一步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构。 面向过程开发模式的特点 过程性开发模式侧重建立构成问题解决的处理流。 数据抽象、数据结构根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操作的信息。 系统的状态是一组全局变量,这组全局变量保存状态的值,把它们从一个过程传送到另一个过程。 面向对象开发模式 在面向过程开发模式中优先考虑的是过程抽象,在面向对象开发模式中优先考虑的是实体(问题论域的对象)。 在面向对象开发模式中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。 面向对象开发模式的特点 面向对象系统中的对象是数据抽象与过程抽象的综合。 系统的状态保存在各个数据抽象的所定义的数据存储中。 控制流包含在各个数据抽象中的操作内。 在面向对象体系结构。消息从一个对象传送到另一个对象。算法被分布到各种实体中。 其它流行的开发模式 目前流行多种开发模式,它们提供了许多方法,可进行系统分解。 面向过程的; 逻辑的; 面向存取的; 面向进程的; 面向对象的; 函数型的; 说明性的。 每个开发模式都有它的支持者和用户; 每个开发模式都特别适合于某种类型的问题或子问题; 每一个开发模式都用不同的方式考虑问题; 每一个开发模式都使用不同的方法来分解问题; 每一个开发模式都导致不同种类的块、过程、产生规则。 混合开发模式 在大型系统的开发中,很难说哪种开发模式对整个问题的解决最好。 系统开发时,通常把大型问题分解成一组子问题。对于每个子问题可以采用适当的软件开发模式。 这种设计需要有某种实现语言或一组协同语言的支持。许多流行的功能不断增强的语言可支持不只一种设计开发模式。 一个智能数据分析系统的设计,可把它看做是 4 个子系统。系统有 一个数据库界面,可以使用面向存取的方法进行设计; 智能数据分析用逻辑性的开发模式设计; 一组分析算法是过程性的; 用户界面是用面向对象开发模式设计出来的。 什么是面向对象 Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”。 如果一个软件系统是使用这样 4 个概念设计和实现的,则认为这个软件系统是面向对象的。 一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。 面向对象的特点 抽象性:对象的数据抽象和行为抽象; 封装性:信息隐蔽(两个视图); 共享性: 同一类中所有实例共享数据结构和行为特征; 同一应用中所有实例通过继承共享数据结构和行为特征; 不同应用中所有实例通过复用共享数据结构和行为特征 对象技术的优势 稳定: 较小的需求变化不会导致系统结构大的改变 举例:某公司的销售处理系统 对象技术的优势 稳定:数据和功能都打包在一起,从而改善软件的再重用性 软件重用能提高质量,减少由于编制新的系统代码而产生的成本 对象技术的优势 面向对象的模型更加贴切地反映了现实世界 更加准确地描述公共数据和过程 易于理解,尤其对于使用者 对象技术的优势 面向对象的方法支持大规模开发 可以严格定义各个组件之间的交互 减少内部的依赖关系 减少集成的问题 支持并行开发 对象技术的优势 帮助开发多层结构 对象技术的优势 帮助开发嵌入式、实时系统 具有更高的可靠性和灵活性 对象技术的优势 对系统的一部分进行再工程,保护前期软件应用的投资 对象技术的优势(总结) 需求改变时系统稳定 高水准的软件重用 更准确的模型,更易于理解 严格定义大规模开发的交互界限 对象的封装有利于 client-server 应用的开发 再工程保护前期投资 UML: 设立对象建模标准 面向对象概念 Object 对象 Class 类 State 状态 Behavior 行为 Attribute 属性 Operation 操作 (Method方法) Inheritance 继承 Subclasses 子类 Superclasses 父类 Gene
您可能关注的文档
- 第9章 系统分析.ppt
- 第4章 Web应用程序开发的统一建模语言(UML)(1).ppt
- 第7章 输入输出系统(改).ppt
- 第9章OO引论.ppt
- 第9章UML统一塑模语言.ppt
- 第9章UML系统分析现设计教程教案.ppt
- 第4章 安全审计与入侵检测20101010.ppt
- 第二章 安装Android开发工具.ppt
- 第7章 统一建模语言UML概述.ppt
- 第4章 安全网络支付1.ppt
- 基于情境创设的小学美术教育创新模式与教学效果评价研究教学研究课题报告.docx
- 基于生活情境的初中物理教学实践与效果探究教学研究课题报告.docx
- 初中数学课程中校园花卉数量统计与概率教学案例分析教学研究课题报告.docx
- 高中化学核心素养培养的实验创新教学案例教学研究课题报告.docx
- 大学通识教育模式的比较研究.docx
- 初中生物教学中学生科学探究能力的培养与实践研究教学研究课题报告.docx
- 初中个性化教学策略优化——借助区块链技术实现学习过程全程追溯教学研究课题报告.docx
- 《养老服务机构服务质量评价指标体系构建与养老院服务质量评价体系优化策略研究》教学研究课题报告.docx
- 初中地理教学空间思维能力培养的地理教材分析与教学策略研究教学研究课题报告.docx
- 甲脒基钙钛矿薄膜光伏器件制备工艺优化对电池寿命的影响研究教学研究课题报告.docx
文档评论(0)