软件工程面向对象的程序设计.pptx

上传人:莉*** 文档编号:87375091 上传时间:2023-04-16 格式:PPTX 页数:19 大小:138.54KB
返回 下载 相关 举报
软件工程面向对象的程序设计.pptx_第1页
第1页 / 共19页
软件工程面向对象的程序设计.pptx_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《软件工程面向对象的程序设计.pptx》由会员分享,可在线阅读,更多相关《软件工程面向对象的程序设计.pptx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、思考思考?面向对象分析和设计的结果必须用面向对象程序设计语言来实现吗?面向对象程序设计语言有哪些特有的优势?第1页/共19页第7章 面向对象的程序设计面向对象程序设计语言的优点有哪些?面向对象程序设计语言的技术特点如何?如何选择合适的面向对象程序设计语言?如何保持良好的面向对象程序设计风格?第2页/共19页一、面向对象程序设计(Object-oriented Programming,OOP)面向对象语言(OOPL)支持OO概念 编译程序可自动把OO概念映射到目标程序中 非面向对象语言 程序员实现OOPOOP是否必须用是否必须用OOPLOOPL来实现来实现?第3页/共19页OOD的结果可以用OO

2、PL/非OOPL实现OO是一种程序设计风格,而不是一种具有构造继承性、封装性和多态的程序设计语言族的命名OOPL功能强于非OOPL?任何通用语言都可实现OO概念OOPL实现OO概念远比非OOPL方便!选择编程语言的关键一致的表达能力可重用性可维护性错误错误!第4页/共19页1.OOPL的优点一致的表达方式 OOAOODOOP使用统一的概念可重用性好 可重用OOA、OOD、OOP的结果可维护性好 程序显式陈述问题域语义第5页/共19页几种典型OOPLSimula语言 Simula的基础是ALGOL60,它沿用了ALGOL60的数据结构和控制结构,其主要特点:具有主程序概念、具有分程概念、引用了虚

3、拟子程序概念与协同子程序概念。第6页/共19页几种典型OOPLSmalltalk语言 Smalltalk不是一种单纯的程序设计语言,而是反映面向对象程序设计思想的程序设计环境。其主要特点:无主程序概念,类是唯一构造程序的最小单位、每个对象都是某个类的实例、对象间通过消息通信、支持单继承。Eiffel语言 主要特点:类是唯一程序构造单元、静态类与动态对象概念、支持多继承、提供有断言机制、延迟类。第7页/共19页几种典型OOPL C+是目前使用最广泛的OOPL之一,其主要原因是它完全保留了传统优秀语言C的优 点,并与C完全兼容。C+是C超集,增加了数据抽象、继承性机制、虚拟函数以及其他 改善C语言

4、结构的成分,使之成为一个灵活、高效和易移植的OOPL。第8页/共19页总结:Simula Smalltalk Eiffel C+对象对象 对象对象 对象对象 对象对象 类类 类类 类类 类类 属性变量属性变量 实例变量实例变量 属性属性 成分成分 子程序子程序 方法方法 程式程式 函数函数子程序调用子程序调用消息发送消息发送 程式调用程式调用 函数调用函数调用虚拟子程序虚拟子程序抽象方法抽象方法 延迟程式延迟程式 虚拟函数虚拟函数 继承继承 单继承单继承 多多 继承继承 多继承多继承 子类子类 子类子类 后继类后继类 派生类派生类第9页/共19页2.OOPL的技术特点20世纪50年代,LISP

5、,动态联编60年代,SIMULA,类,继承70年代末,Modula_2,Ada,数据抽象机制80年代,OOPL纯OOPL(Smalltalk,Eiffel)混合型OOPL(C+)第10页/共19页支持OO概念 支持类和对象概念 实现整体-部分结构 实现一般-特殊结构 实现属性和服务 提供类库和强大的开发环境第11页/共19页类型检查按编译时进行类型检查的严格程度,分为强类型(Strong Typing)每个变量(属性)必须准确属于某个类 C+,Eiffel等弱类型(Weak Typing)仅要求每个变量(属性)隶属于一个对象 Smalltalk无类型,Foxpro等第12页/共19页强类型语言

6、的优点可靠 利于在编译时发现程序错误高效 增加了程序可读性 可生成高效率目标代码强类型编译型语言 弱类型解释型语言 开发软件产品开发软件产品快速开发原型快速开发原型第13页/共19页效率问题许多人认为OOPL的主要缺点是效率低早期OOPL是解释型而非编译型的 类库运行时dynamic binding实现多态性,要在运行时查找继承树 优化了查找过程,高效率查找C+:虚函数表虚函数名虚函数名虚函数入口点虚函数入口点m1函数指针函数指针Class AInstance a1第14页/共19页3.选择OOPL应考虑的因素 将来能否占主导地位 可重用性 类库、开发环境 其它因素第15页/共19页二、程序设

7、计风格 提高可重用性提高可重用性 提高方法的内聚 减小方法的规模 保持方法的一致性 把策略与实现分开 全面覆盖 尽量不使用全局信息 利用继承机制 提高可扩充性提高可扩充性 封装实现策略 不要用一个方法遍历多条关联链 避免使用多分支语句 精心确定公有方法 提高健壮性提高健壮性 预防用户的操作错误 检查参数合法性第16页/共19页小 结 面向对象语言的优点 面向对象语言的技术特点 选择面向对象语言的实际因素 程序设计风格第17页/共19页思考题有人认为:“应该尽量用面向对象语言来实现面向对象分析和设计的结果”。你认为他的观点对吗?请说明理由。选择面向对象程序设计语言时应该主要考虑哪些因素?第18页/共19页感谢您的观看!第19页/共19页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁