网站大量收购独家精品文档,联系QQ:2885784924

[工学]面向对象技术引论 6.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]面向对象技术引论 6

* 第四部分 面向对象的编程(OOP)和 面向对象的编程语言(OOPL) 参考书: 3. 邵维忠, 廖钢城, 苏渭珍(译). 面向对象的设计. 北京: 北京大学出版社,1994年11月(第七章) 6. 蔡希尧, 陈平. 面向对象技术. 西安: 西安电子科技大学出版社, 1993年11月(第3章) 2.冯玉林,黄涛,倪彬. 对象技术导论. 北京: 科学出版社, 1998年3月(第四章) 主要内容: 程序设计范型 不同的程序设计范型 面向对象的程序设计范型主要特点 面向对象的编程语言 基本特点、历史、类别 语言、类库及编程环境的结合 为实现OOD模型,如何选择编程语言 从哪些方面评价编程语言? 简单介绍几种典型的OOPL C++——Visual C++ Object Pascal——Delphi Smalltalk Objective-C Eiffel Java 一、程序设计范型(programming paradigm) 关于计算机系统的思考方法。它体现了一类语言的主要特点。(蔡希尧) 人们在程序设计时所采用的基本方式模型。(Tello. E. R) 面向过程的程序设计范型: 中心思想——程序设计主要是过程设计 决定所需的过程,设计过程的算法 关键:过程调用 语言提供向过程传送变元和返回值的设施 模块化程序设计范型: 基本思想——信息隐蔽,需求与求解方法分离,相关的数据结构与算法结合在一个模块中,与其它模块隔离,使其它模块不能随便访问——有了封装的思想 例如:Modula-2 其它程序设计范型: 结构化程序设计,函数式程序设计,逻辑程序设计等 面向对象是一种新的程序设计范型 是在上述范型基础上发展起来的 增加了类和继承,用类创建对象实例 思想方法 从客观存在的事物出发构造软件系统 运用人类日常思维方式 主要特点 使用对象、类、继承、封装、聚合、关联、消息、多态性等基本概念来进行程序设计。 从模块化到抽象数据类型(ADT) 模块内实现细节局部化; 模块类型化; 为模块类型设置足够的操作集,形成ADT; 二、面向对象的编程语言(OOPL) 1、基本特性: 语言元素能够支持—— 类的定义 对象的静态声明或动态创建 属性和操作的定义 继承、聚合、关联和消息的表示 语言机制—— 类机制 封装机制 继承机制 高级特性: 多态、多继承的表示和支持机制 2、发展历史及语言谱系 Algol Simula Smalltalk LISP Flavors LOOPS CLOS Eiffel Actor C++ C Objective-C Pascal Ada Modula-2 Java 1960 1970 1980 1990 Object Pascal Visual C++ Delphi 3、类别 纯面向对象语言 例如:Smalltalk、 Eiffel 较全面地支持OO概念 强调严格的封装 混合型面向对象语言 例如:C++、Objective-C、Object Pascal 在一种非OO语言基础上扩充OO成分 对封装采取灵活策略 结合人工智能的面向对象语言 例如: Flavors、LOOPS、CLOS 4、语言+类库+编程环境 编程语言 对编程形成更强有力的支持 类库 提供各种常用的类,如: 定义共同协议的一般类 定义基本数据结构的类 界面对象类 编程环境 工具 工具 工具 工具 提供方便易用的人机界面和各种常用工具,如: 编辑工具、可视化编程工具、调试工具、浏览器等 1、一般原则 * 基本原则——语言的选择完全从实际出发 主要考虑成本、进度、效率等实际因素 * OOPL是实现OOD的理想语言 它使源程序能很好的对应OOD模型。 * 带有类库、编程环境、权限管理的OOPL更好。 *用非OO语言也能实现OOD模型 缺乏OO机制的保证和支持, 但若自觉遵循一定的原则,可以保持某些OO风格。 三、为实现OOD模型选择编程语言 在OOD完成之后,选择什么编程语言实现OOD模型? 着眼点: 语言捕捉问题域语义的能力, 即对OO概念的表达能力 对OOD模型的实现能力 目标: 一致性:分析、设计和编程 各个阶段都能采用一致的基本表示 概念、术语、风格都一致,形成良好的映射 可复用性: 可维护性: 2、编程语言的评价标准 (1)能否描述类和对象 是否提供封装机制? 对封装有无可见性控制? (2)能否实现一般-特殊结构 支持多继承、单继承还是不支持继承? 支持多继承时,是否能解决命名冲突? 是否支持多态? 职员 专业 …… …… 在职学员 学员 专业 …… …… 什么是命名冲突 职员类的“专业”是该职员从事的专业; 学员类的“专业”是该学员学习的专业。 问题: “在职学员”类同时继承了两个“专业”属性,引用时无法

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档