第11章 面向对象软件编程基础.pptVIP

  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文档。上传文档
查看更多
第11章 面向对象软件编程基础

北京理工大学计算机系(共70页) 金旭亮 Strategic Architect Forum 2004 面向对象软件编程基础 第11章 本讲主要内容 对软件的再认识 面向对象编程OOP概述 动态链接技术 UML使用入门 11.1 对软件的再认识 1 理解软件的概念 对软件的再认识 软件是什么? 2 软件开发是一项系统工程 3 软件开发的七种武器 机器码?汇编?高级语言?面向对象语言?组件?虚拟机?… 11.2 面向对象编程OOP概述 结构化编程 程序=数据结构+算法 面向对象编程 程序 = 对象 + 对象之间合作的方式 什么是OOP? OOP:Object-Oriented Program OOP = 使用面向对象的语言编程 ? 1 掌握编程的基本原则 编程是有规律的,掌握规律才能编出好的程序 学会做事的方法,比事情本身更重要。 软件开发的最重要思维方式是什么? 原则一:分而治之 “分而治之”是一个基本的方法,简单地说,就是将一个复杂的系统划分为几个子系统,然后,分别处理这些子系统,最后再合成一个完整的系统。 这是西方科学的主要思维方法之一:重视局部与细节,用放大镜去研究大象。 原则二:迁移 他山之石,可以攻玉 将一种思想应用于不同领域 将J2EE的分层思想用于单机软件 原则三:复用 面向对象时代的复用 原则四:封装与隔离 将一个复杂的子系统用一个外套给包起来,提供一个很简单的接口供外界使用 界面与代码的封装 界面与功能代码的完全分离 设计方案实例 使用封装思想设计媒体播放器 封装的基本原则 包起所有的东西,让调用者必须知道的东西越少越好! 原则四: 降低复杂度 能够用简单的方法达到目的,绝不使用复杂的方法。 使用组件化方法可以降低系统的复杂度 原则五:增强系统可扩展性与可维护性 修改一个软件比开发一个软件要累得多! 2 掌握编程的基本方法 在基本原则的指导下要讲究做事的方法 第一次编写时就要尽量写出完美的代码 正确确定开发次序 结果:C?D?A?B 迭代开发 步步为营 实施增量编程 凡事预则立,不预则不立 设计重于编码 3 面向对象编程实例分析 实例展示:两数相加程序结构的演化过程 11.3 动态链接技术 1 动态链接技术的由来 早期静态链接的程序 动态链接原理 动态链接的内存布局示意图: 2 Windows动态链接技术的概貌 特殊的文件:DLL DLL地址重定位原理 Windows核心技术COM简介 基于动态链接思想的COM技术,是Windows的核心技术 IUnknow接口,对象引用计数 COM与Win32平台 使用COM组件 注册: regsvr32 DLL文件的完整路径名 取消注册: regsvr32 /u DLL文件的完整路径名 由注册引发的“DLL Hell”问题 3 .NET下动态链接技术的发展 与Win32之上的COM技术相比,.NET组件: 种类少 无需注册表,自说明 动态链接时DLL文件与具体路径无关 强大的反射功能 在网络中分布与传送对象 组件缓冲技术 .NET组件——Assembly Assembly的概念 Assembly的结构 11.4 UML使用入门 1 UML简介 统一建模语言UML的特点 图形化的建模语言 开发者用来为面向对象系统建立模型 具有灵活性与可扩展性 UML历史 应OOAD的需要而产生 UML的地位 UML己成为描述当今面向对象系统的国际标准 UML成为当前一个程序员所必须掌握的基础知识 常见的UML工具 Rose 绘图功能最强的Visio JBuilder 中集成的UML功能 使用方便的Borland Together 怎样学用UML UML的尴尬: 沦为“绘图工具”。 2 使用UML类图 类图 类的继承 抽象类与抽象方法 接口 使用UML表达类之间关系 关联 类的关联(1) 一对多关联 类的关联(2) 双向关联 类的聚合(1) 聚集:飞机与飞机场 类的聚合(2) 整体与部分——组合 类的依赖 显式与隐式依赖 3 使用UML包图 使用包图表达软件结构 4 使用用例图描述系统功能 5 使用UML描述系统静态结构 6 使用UML描述系统动态特性 表示对象 区分类与类的实例 协作图 序列图 状态图 活动图 7 在软件开发中使用UML 在软件开发中使用UML 要根据实际情况选择一种合适的图来表达系统,不要强行要求用上所有类型的图,牢记:使用UML的最终目的是为了交流。 不要为了UML而学UML,请把主要精力放在学习面向对象技术与理论上 下一讲 基于组件的软件开发技术 所有图的最根本目的是要对系统运行过程中的各个对象之间的关系作出确定性的唯一性描述,从而保证所有开发人员都能

文档评论(0)

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

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

1亿VIP精品文档

相关文档