- 2
- 0
- 约6.21千字
- 约 44页
- 2019-01-30 发布于江苏
- 举报
第11章面向对的软件开发方法
主讲老师:刘志强 第11章 面向对象的软件开发方法 一、面向对象的基本概念 “面向对象“: OO 代表着一种新的思维方式,代表着一种新的程序设计方法的潮流。 “面向对象”追求软件系统对现实世界的直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间。 面向对象的程序设计技术是以对象为基础,以消息驱动对象实现操作的一种全新的程序设计方法。 面向对象方法的由来 OO方法最早出现在挪威奥斯陆大学和挪威计算中心共同研制的仿真语言Simula67中。 1980年随美国加州的Xerox研究中心推出的SmallTalk 80语言,使得OO方法得以较完善地实现。 90年代初,OO方法和OOP语言开始成熟。 2000,OO方法成为软件开发的首选方法受到越来越多的程序设计人员的青睐。 什么是面向对象方法 传统的程序设计方法: 从实际问题到求解模型(数学模型)的抽象都是围绕”怎样做?“去进行的。 人认识事物的规律: 当物体反映到头脑中后,变成意识,得到抽象的概念,及所谓逻辑世界。 逻辑世界: 由对象组成,表现现实世界中的某个具体的事物。对象有自己的属性和动作。 面向对象(OO)方法的出发点: ”是什么?“,即要求解的实际问题,它到底”是什么?“。 面向对象方法产生的背景 传统方法的历史功绩 对”软件生产工程化“曾起过重要的促进作用,部分缓解了软件危机。 传统方法的问题 并不能完全消除软件危机 生产率提高的幅度远不能满足需要 软件重用程度很低 软件维护困难 软件不能真正满足用户的需要 面向对象方法(OO) 就是在这种背景下诞生的。 现实世界与OO系统的对应关系 OO方法是将现实世界抽象为”对象是什么?“,所以说,OO方法是更高一级的抽象。它和人认识现实世界的方法是一致的。 面向对象程序设计OOP OOP (OOProgramming)将数据及对数据的操作放在一起,作为一个相互依存、不可分割的整体来处理。 OOP采用数据抽象和信息隐藏技术,它将对象和对对象的操作抽象成一种新的数据类型——类。 OOP方法是通过增加软件的可扩充性和可重用性来改善并提高软件的生产率的。 OOP的特点: 继承了SP的优点(任务分解、模块化) 抽象数据类型 继承性 封装性 可重用性 OO方法的4个要点 (1) 客观世界由各种对象组成 OO的软件系统也是由对象组成的;任何复杂的软件都是由简单的对象组合而成的; (2) 所有对象都可以划分为不同的对象类 (3) 每个对象类有自己特定的数据和方法 对象类具有层次结构;上层的类称为”父类“或”基类“,下层的类称为”子类“或”派生类“。子类可以继承父类的特性及操作; (4) 对象之间通过传递”消息“互相联系(消息机制) OO方法 = 对象 + 类 + 继承性 + 消息机制 OO方法的主要优点 与人类习惯的思维方法一致 从“是什么”开始,认识事物及其本质规律,主观随意性受到限制。 稳定性好 功能需求变化时,内在规律不变,因而不会引起软件系统结构的整体变化 可重用性好 可维护性好 面向对象程序设计语言OOPL OOPL两个显著的特征: 抽象数据类型 继承性 OOPL要提供: 特定的语法成分来保证和支持OOP;形式上要能够表现,语义上要能够处理; 继承性、多态性和动态链接机制,使得类和类库成为可重用的程序模块。 OOPL的发展史 1) LISP语言 50年代末发展起来的一种符号处理语言,是一种人工智能语言。1979年推出Flavors是LISP的OOPL版本。 2) Simula语言 60年代开发,在ALGOL60的基础上扩充。主要用于模拟。具有表加工等功能。 3) SmallTalk语言 第1个真正的OOPL,它体现了纯粹OOP设计思想。它起源于Simula,是最成功的一个版本。 4) C家族 C++是在C基础上扩充、增加了对象处理机制,将“类”看作是用户定义类型。由于C++的出现,才使OOPL越来越得到重视和广泛的应用。C++有许多种类:MS C++、Turbo C++、Borland C++ 和Visual C++等。 5) 其它语言的OO版本 Turbo PASCAL、Object PASCAL、Visual Basic等。 实体和对象 对象 客观世界中的实体均可以抽象为问题空间中的对象。 可以将要研究的任何事物作为对象; 对象可以是具体实体,还可以表示抽象实体,例如规则、算法、事件等。 对象——Object 对象的不同定义: 1) 从OOP的角度看 对象是具有相同状态的一组操作的集合 2) 从信息模拟的角度看 对象是对属性值和操作的封装 3) 从存储的角度看 对象是存储在计算机中的一块私有存储区 4) 形式化定义 对象::={ ID,MS,DS,MI} ID 标识符 MS 操作集合
您可能关注的文档
- 第06讲 合并务报表的基本原理.ppt
- 第06章RNA录与转录后加工.ppt
- 第06讲 根轨分析、频域分析、能控性和能观性分析.ppt
- 第07章 作为策者的管理者.ppt
- 第06章-直流动机的电力拖动.ppt
- 第06章第09麝鼠的养殖.ppt
- 第07章 分组询及分组函数.ppt
- 第07章 作为者的管理者.ppt
- 第07章 绘制编辑复杂二维图形对象.ppt
- 第07章 犯罪体.ppt
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 2024内蒙古高职对口招生 汽驾综合试卷.docx VIP
- 《黄帝内针 和平的使者》读书笔记.pptx VIP
- 文化与翻译(高校英语)杨朝燕课后习题答案.pdf
- 人教版小学英语三年级上册各单元知识点.docx VIP
- 市场营销策划第四版教学课件任务8.2营销组合策划案例.ppt VIP
- 2024年上海市高考英语语法填空试题真题汇编(含答案详解).pdf VIP
- 管理会计实务 课件 战略地图.pptx
- (精)易制毒易制爆化学品安全培训课件x.pptx VIP
- 外教社新标准高职高专日语专业系列:实用综合日语(第二版)第1册 PPT课件unit5_可搜索.pdf VIP
- 影视广告制作基础PPT课件(787页).pptx VIP
原创力文档

文档评论(0)