- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象分析与设计讲
第一章 面向对象方法概念
介绍面向对象方法的基本原理与概念,
论述它成为当今计算机软件领域主流技术的原因。
了解面向对象方法的主要内容,并从理论上掌握其基本知识。
什么是面向对象
1.1 定义
1.应用范围
1)程序设计与分析;
面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。
2)软件设计与分析;
自80年代以来,面向对象方法已深入计算机软件领域的几乎所有分支,远远超出了程序设计语言和编程技术的范畴。但是,即使我们在“计算机软件”范围内定义什么是面向对象也仍然是不完整的,因为面向对象方法还发展到计算机软件以外的一些领域,如计算机体系结构和人工智能等。
3)软件以外
而面向对象方法已在其中产生巨大影响并发展为较完整的理论与技术体系的领域也主要是计算机软件,所以我们就在这个范围内讨论什么是面向对象。
2.思维方式
1)以事物为中心;
面向对象(object-oriented或 object-orientation)不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。
2)日常思维方法
3.特点:
具体地讲,面向对象方法有如下一些主要特点:
1)从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。
2)事物的静态特征(即可能用一些数据来表达的特征)用对象的属性表示,事物的动态特征(即事物的行为)用对象的服务表示。
3)对象的属性与服务结合为一体,成为一个独立的实体,对外屏蔽其内部细节(称作封装)。
4)对事物进行分类。把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。
A 属性 服务 5)通过在不同程度上运用抽象的原则(较多或较少地忽略事物之间的差异),可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,面向对象方法支持对这种继承关系的描述与实现,从而简化系统的构造过程及其文档。
6)复杂的对象可以用简单的对象作为其构成部分(称作聚合)。
7)对象之间通过消息进行通信,以实现对象之间的动态联系。
8)通过关联表达对象之间的静态关系。
老师 与 学生
↓ ↓
指导 被指导
4.传统的定义:
通过以上的介绍,读者可以对什么是“面向对象”有一个大致的了解。词典中收集的定义有:
(1)一种使用对象(它将属性与操作封装一体)、消息传送、类、继承、多态和动态绑定来开发问题域模型之解的范型。
(2)一种基于对象、类、实例和继承等概念的技术。
(3)用对象作为建模的原子。
对于“面向对象”的形容词条目(object—oriented),该词典收集的定义有:
(1)用来描述一些基于下述概念的东西:封装、对象(对象的标识、属性和操作)消息传送、类、继承、多态、动态绑定。
(2)用来描述一种把软件组织成对象集合的软件开发策略,对象中既包括数据也包括操作。
5.定义:
“面向对象方法”作如下定义:
面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。
面向对象方法的形成
认识和描述
1)认识
所谓“认识”是指,在系统所要处理的问题域范围内,通过人的思维对该问题域客观存在的事物,以及对所要解决的问题产生正确的认识和理解,包括弄清事物的属性、行为及彼此之间的关系,并找出解决问题的方法。
2)描述
所谓“描述”是指,用一种语言把人们对问题域中事物的认识、对问题及其解决方法的认识描述出来。最终的描述必须使用一种能够被机器读得懂的语言,即编程语言。
语言
人们习惯使用的自然语言和计算机能够理解和执行的编程语言之间存在着很大的差距。这种差距被称作“语言的鸿沟”(图1.1)。语言的鸿沟,实际上也就是认识描述之间的鸿沟。
1、一方面,人借助自然语言所产生的对问题域的认识远远不能被机器理解和执行;
2、另一方面机器能够理解的编程语言又很不符合人的思维方式。
3、开发人员需要跨越这条语言之间的鸿沟,即从思维语言过渡到描述语言。
4、这种过渡并没有一种准确可靠的方法。因此往往要耗费开发人员的许多精力,并且是许多错误的发源地。
改善鸿沟
几个主要阶段可以明显地看到这一点。
机器语言
汇编语言
高级语言
面向对象的语言
1.2.4 作用
软件开发是对问题域的认识和描述,
它在分析和设计阶段提供了一些从问题域逐步过渡到编程语言的描
您可能关注的文档
最近下载
- 2025年包装机项目可行性分析报告.docx
- 云南省昭通市2025届中考 数学模拟试卷.docx VIP
- xxx30兆瓦特许权光伏电站职业病危害控制效评价报告书.doc VIP
- 八年级信息科技第一章《从感知到物联》单元整体教学设计.docx VIP
- 合同能源节能改造项目可行性研究报告.pdf VIP
- 票据业务知识培训课件.pptx VIP
- SEMI E30-1103(完整中文版本).pdf
- 05SFG04-钢结构装配式防倒塌棚架结构设计图集.pdf VIP
- 2018年下半年全国事业单位联考A类《综合应用能力》题及参考答案.pdf VIP
- 中国上海国际艺术节中心招聘笔试备考题库及完整答案详解1套.docx VIP
文档评论(0)