- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象技术与工具第07章
第七章 面向对象语言的核心概念 7.4.2 面向对象与软件IC 类概念支持 “软件 IC” 技术 在面向对象语言中,类充当了系统构造的单元 类是一类对象的统一模板,它具有很强的模块性、独立性何可靠性 类是对象一级的抽象,它将一类对象的数据结构和功能实现封装起来,使得外界不必清楚其内部实现,只要从它的说明中了解其基本功能就可以使用它。 另外,类支持代码共享,类中的代码均是可再入的,这也支持了可重用性。因此类作为 “软件 IC” 来组织软件系统从概念上是非常合适的。 第七章 面向对象语言的核心概念 7.4.3 面向对象方法与结构化程序设计方法 结构程序设计强调了功能抽象和模块性,解决问题的过程看作是一个处理过程。 面向对象程序设计则综合了功能抽象和数据抽象,它将解决问题的过程看作是一个分类演绎的过程。 第七章 面向对象语言的核心概念 7.4.4 对象是抽象数据类型的实现 抽象是一个系统的简化描述,它强调了系统的某些特性而忽略了其他特性。对于用户来说,所关心的是程序能做什么,而不是它的实现细节。 而抽象恰好可以用来对用户所关心的重要信息予以强调,而忽略不重要的信息。 整个程序设计语言(甚至软件开发)的发展过程就是抽象层次不断提高的过程。 第七章 面向对象语言的核心概念 7.4.4 对象是抽象数据类型的实现 为了完全、准确、无二义地描述数据类型,而不愿涉及其物理表示和实现的细节,采用抽象数据类型的描述技术。 抽象数据类型包含的信息有: 外部不可见的数据 外部不可见的操作的实现细节 外部可见的施于数据上的各操作界面(接口) 第七章 面向对象语言的核心概念 于是,将数据类型抽象为提供给外部世界的数据和操作集。使用了抽象数据类型描述,不再关心数据结构是什么,而仅仅关心它具有些什么功能可用。这与信息隐藏原则很符合。 总之,抽象数据类型从外部观点来描述数据类型: 仅关心各种有用的操作和这些操作的性质。可见,抽象数据类型描述的信息与对象包含的信息是一致的,对象是抽象数据类型的实现。 第七章 面向对象语言的核心概念 面向对象的概念和方法是当前软件开发中最接近问题的一种较好方法,仍具有强大的生命力。 面向对象的研究还不成熟,不能指望面向对象的概念能解决软件复杂性的问题, 采用面向对象的思想,从可重用性、可扩充性和可兼容性的角度,组织和开发软件是非常必要的,这也是一种良好的选择。 第七章 面向对象语言的核心概念 7.2 面向对象语言的核心概念 7.2.3 多态性 Poly-morphism 多态,是指一个名字(或符号)具有多种含义。 用户在使用函数编程时,关心的是该函数的功能及其使用接口,并不需要了解该函数的使用接口与函数的哪一种实现方法相匹配(binding)。 在设计这一级上,只关心“施加在对象上的动作是什么”,而不必牵涉“如何实现这个动作”以及“实现这个动作有多少种方法”的细节。 * 第七章 面向对象语言的核心概念 7.2 面向对象语言的核心概念 7.2.3 多态性 Poly-morphism 函数重载 在面向对象的语言中,函数重载(overload)表达了最简单的多态性(同名函数)。 void value(int); Int value( ); * 第七章 面向对象语言的核心概念 7.2 面向对象语言的核心概念 7.2.3 多态性 Poly-morphism 运算符重载 运算符重载指的是相同的运算符在不同的上下文有不同的解释。例如:两个整数使用+运算符表示它们要做加法,而两个字符串可以使用+运算符则表示串连接。 C++为运算符重载提供了完整的语法支持。 * 第七章 面向对象语言的核心概念 7.2 面向对象语言的核心概念 7.2.3 多态性 Poly-morphism 如果函数调用(接口)与哪个函数实现相匹配是在编译时完成的,称为早期匹配或静态联编。 如果匹配是在运行时确定的,则称为后期匹配或动态联编。 C++的虚函数提供了后期匹配带来的良好特性。 * 第七章 面向对象语言的核心概念 7.3 按对象方式思维 面向对象是一种仿真技术,面向对象设计产生一种与现实具有自然关系的软件系统。 面向过程的程序设计方法鼓励全局地看问题,强调系统功能的逐步细化。而在面向对象程序设计中,每个对象严格地是局部的。每个对象管理自己的实现。 学习面向对象设计,需要将思维方式从全局转到局部,在局部中发现对象。 * 第七章 面向对象语言的核心概念 7.3 按对象方式思维 设计对象需要做许多小决策,怎样将计算部分合理地分配给不同的对象。这叫做分散责任。 这是设计决策的基础,其余都是次要的。CRC方法帮助设计者分散责任,直到设计的最后阶段才考虑问题的总体。 * 第
您可能关注的文档
- 露天矿采剥方法及生产能力.ppt
- 青发视讯技术建议书.doc
- 青光眼的诊断与治疗.ppt
- 霸州开发区温泉项目前期方案.pptx
- 青少年心理健康问题的干预措施一、心理健康的内涵及评估标准.ppt
- 青少年与父母代沟问题的研究.ppt
- 青岛XX餐饮公司六一儿童节营销策划方案.doc
- 青岛万科城盈亏平衡及敏感性分析.doc
- 霍金简介.ppt
- 青岛华仁风险评估.doc
- 人教版九年级英语全册期末复习重点语法归纳 (记忆版).pdf
- 不等式与不等式组章末培优测试卷(分类集训)解析版—2024-2025学年七年级数学下册(人教版).pdf
- 高考历史一轮复习讲义:文艺复兴与宗教改革.pdf
- 高考历史一轮复习讲义:近代中国的政治制度与改革.pdf
- 2025年中小学教师心理健康网络知识竞赛判断题库及答案(共239题).pdf
- 高考化学一轮复习练习卷:物质的分类及转化(原卷版+解析版).pdf
- 2024统编版七年级下册道德与法治期末模拟试卷(含答案).pdf
- 2024-2025学年湖北省黄石市黄石港区人教版四年级下册期末测试数学试卷(含解析).pdf
- 古诗词鉴赏之“炼字”(讲义)解析版-2026年中考语文一轮复习之古诗文(全国通用).pdf
- 2026年中考历史一轮复习:七八九年级必背考点知识分类汇编.pdf
文档评论(0)