- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章面向对象的软件开发方法.ppt
主讲老师:刘志强 第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 操作集合
您可能关注的文档
- 神奇的化学世界.doc
- 神话思维以己度物.ppt
- 福万通贷记卡章程.doc
- 福利彩票销售站点编号.doc
- 福安市政府采购询价书.doc
- 福州一中2016年高中招生(面向福州以外地区).doc
- 福州市2008年初三语文第一次质量检查范围与题型.doc
- 福州市区机动车道路停车泊位一览表(2008年).doc
- 福建中医药大学附属第三人民医院.doc
- 福建农信社招聘考试市场模拟题答案.doc
- 2025至2030中国游船码头行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国游艇梯子行业项目调研及市场前景预测评估报告.docx
- 贵州国企招聘2025贵州省公路建设养护集团有限公司人才引进笔试历年参考题库附带答案详解(10卷合集).docx
- 2025广东阳江市阳春市选聘市属国有企业领导人员应聘人员笔试历年参考题库附带答案详解(10卷合集).docx
- 中考名著《格列佛游记》课件.pptx
- 2025浙江温州市泰顺县公务用车服务有限公司招聘编外人员笔试历年参考题库附带答案详解(10卷合集).docx
- 2025至2030中国游艇涂料行业市场占有率及投资前景评估规划报告.docx
- 2025浙江温州市鹿城区城市产业发展有限公司招聘其他用工形式人员3人笔试历年参考题库附带答案详解(10卷合集).docx
- 2025四川九洲电器集团有限责任公司招聘天线工程师拟录用人员笔试历年参考题库附带答案详解(10卷合集).docx
- 2025年浙江宁波市慈溪市国有企业招聘工作人员面谈笔试历年参考题库附带答案详解(10卷合集).docx
最近下载
- 初中英语新人教版八年级上册Unit 2 Home Sweet Home语法知识讲解和练习(2025秋).doc VIP
- 新教材高中物理 期末综合检测(A、B卷)(含解析)新人教版必修第一册.pdf VIP
- 2025新人教版八年级英语上册Unit 2 Home Sweet课文讲解学案.docx VIP
- 2024年新教材高中物理模块综合检测A含解析新人教版必修第一册.docx VIP
- 2024新化县中小学教师招聘考试题库及答案.docx VIP
- 2024_2025学年新教材高中物理期末把关检测卷含解析新人教版必修第一册.doc VIP
- 部编人教版九年级上册初中语文全册课时练(课后作业设计).docx VIP
- 《城镇道路工程施工与质量验收规范》CJJ1-2008.doc VIP
- 燃气公交车辆应急演练方案.docx VIP
- 2024_2025学年新教材高中物理期末达标检测卷含解析新人教版必修第一册.pdf VIP
文档评论(0)