- 1、本文档共85页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象分析阶段面临的挑战
第四章 面向对象分析 4.1 面向对象方法概述 4.1.1什么是面向对象 1.面向对象 面向对象方法(Object Oriented Method)的基本思想是从现实世界中客观存在的事物(即对象)出发,尽可能地运用人类的自然思维方式来构造软件系统。 面向对象技术(Object Oriented Technology)是基于面向对象思想的软件开发技术,是软件工程领域中的重要技术,它以对象为核心,用这种技术开发出的软件系统由对象组成。 概括地说,面向对象方法具有下述四个要点: (1)面向对象的软件系统是由对象组成的,软件中的 4.1 面向对象方法概述 任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。 (2)具有相同数据和相同操作的对象可以归并为一个类,对象是对象类的一个实例。 (3)类可以派生出子类(又称为派生类),子类继承父类(又称为基类)的全部特性(数据和操作),又可以有自己的新特性。 (4) 对象之间通过消息传递相互联系。类具有封装性,其数据和操作等对外界是不可见的,外界只能通过消息请求进行某些操作,提供所需要的服务。 软件工程学家Codd和Yourdon认为,面向对象方法可以用下列方程式来概括: 面向对象=对象+类+继承+通信 4.1 面向对象方法概述 2.面向对象技术的发展历史 面向对象方法起源于面向对象程序设计语言,后来才逐步形成了面向对象的分析和设计方法,其发展过程大体上经历了初始阶段、发展阶段和成熟阶段等过程。 (1)初始阶段 上世纪60年代末挪威奥斯陆大学和挪威计算中心共同研制的Simula语言是面向对象语言发展历史上的第一个里程碑,它首先引入了类的概念和继承机制,后来的一些著名面向对象编程语言(如Smalltalk、C++、Eiffel)都受到Simula的启发。 4.1 面向对象方法概述 (2)发展阶段 从上世纪80年代中期到90年代,面向对象语言十分热门,大批比较实用的面向对象编程语言(OOPL:Object Oriented Programming Language)涌现出来,如C++、Objective-C、Object Pascal、CLOS(Common Lisp Object System)、Eiffel、Actor等,特别是C++语言已成为目前应用最广泛的OOPL。 (3)成熟阶段 在C++语言十分热门的时候,人们开始了对面向对象分析(OOA:Object Oriented Anlysis)的研究,进而延伸到面向对象设计(OOD:Object Oriented Design)。 4.1 面向对象方法概述 4.1.2面向对象的基本概念 1. 对象(Object) 对象从不同的角度有不同的含义,我们针对系统开发来讨论对象的概念,其定义是:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。在这里,属性和服务是构成对象的两个基本要素,其定义是:属性是用来描述对象静态特征的一个数据项。服务是用来描述对象动态特征(行为)的一个操作序列。 在这里,对象只描述客观事物本质的、与系统目标有关的特征,同时,对象是属性和服务的结合体,对象的属性值只能由这个对象的服务来读取和修改。 4.1 面向对象方法概述 2. 类(Class) 类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。类好比是一个对象模板,用它可以产生多个对象。类所代表的是一个抽象的概念或事物,在客观世界中实际存在的是类的实例,即对象。 3. 封装(Encapsulation) 封装是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。封装是面向对象方法的一个重要原则,系统中把对象看成是属性和对象的结合体,使对象能集中而完整地描述一个具体事物。封装的信息隐蔽作用反映了事物的相对独立性,只需要了解对象所呈现的外部行为(即做什么),而不必关心它的内部细节(即怎么做)。 4.1 面向对象方法概述 与封装密切相关的概念是可见性,它是指对象的属性和服务允许对象外部存取和引用的程度。 4. 继承(Inheritance) 继承是指子类可以自动拥有父类的全部属性和服务。 一个类可以是多个父类的子类,它从多个父类中继承了属性与服务,这称为多继承(Multiple Inheritance)。 继承对于软件复用是十分有益的,如果将面向对象方法开发的类作为可复用构件,那么在开发新系统时可以直接复用这个类,还可以将其作为父类,通过继承而实现复用,从而大大扩展了复用的范围。 4.1 面向对象方法概述 5. 消息(Message) 消息是对象发出的服务请求,一般包含提
您可能关注的文档
- 每小时最高产量可达2400颗的第三代四吸嘴自动芯片编程 - 崇贸科技.pdf
- 美光科技和微软宣布合作以提高物联网的安全性 - micron investor .pdf
- 美国angellist 股权众筹联合投资模式的经验与启示.pdf
- 每种期刊的影响因子 - 南京师范大学图书馆电子阅览室.ppt
- 美国fda建立医疗设备单一识别系统.pdf
- 美国sec 众筹新规及启示.pdf
- 美国阿波罗计划组织管理经验及对我国的启示 - 华东师范大学学报 .pdf
- 美国产学研协同创新联盟建设与经验.pdf
- 美国创新型企业税收支持政策研究 - 全球科技经济了望.pdf
- 美国工程伦理研究 - 贵阳医学院神奇民族医药学院.pdf
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)