- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程第8章(2-04)
面向对象的开发方法 面向对象的开发方法以20世纪60年代末的SIMULA语言的诞生为标志,包括面向对象的分析、面向对象的设计和面向对象的实现。面向对象的开发方法是现代软件开发过程中比较流行的新方法与技术,它已发展成一套完整的方法论和系统化的技术体系,在实践中有着非常广泛的应用。 本章概述了面向对象方法的定义、特点和基本概念,以及面向对象分析的目标、任务、原则和过程,分类说明了面向对象建模的几种模型和 UML,重点介绍了面向对象设计的基本内容。 4.1 面向对象方法概述 |面向对象是一个全新的概念,面向对象方法已深入到软件领域的大多数分支,它将面向对象分析、面向对象设计和面向对象程序设计集成在一起。这种方法改进了软件生存期各阶段之间的接口,强调软件的重用,把开发可重用的软件部件作为系统开发过程的一部分。作为一种开发模式,它同时也对软件开发过程的所有阶段进行综合考虑。对于软件生存期的各个阶段来说,面向对象方法具有高度的连续性,是现代软件开发过程中广泛采用的一种新的方法。 1.面向对象概念的涵义 什么是面向对象? Coad和Yourdon为此下了一个定义:面向对象即:对象+类+继承+通信。 如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。一个面向对象的程序的每一个组成部分都是对象,计算是通过建立新的对象和对象之间的通信来运行的。 1.面向对象概念的涵义 2.面向对象法的特点 面向对象法是一种全新概念的开发模式,具有如下特点: 从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。 事物的静态特征用对象的属性表示,事物的动态特征用对象的服务表示。 对象的属性与服务结合为一个独立的实体,对外屏蔽其内部细节,称为封装。 把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是其类的一个实例。 通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,面向对象方法支持对这种继承关系的描述与实现,从而简化系统的构造过程及其文档。 复杂的对象可以用简单的对象作为其构成部分,称为聚合。 对象之间通过消息进行通信,以实现对象之间的动态联系。 通过关联表达对象之间的静态关系。 4.1.2 面向对象的基本概念 1.对象 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务构成。属性和服务是构成对象的两个主要因素,属性是用来描述对象静态特征的一个数据项,服务是用来描述对象动态特征的一个操作序列。一个对象可以有多项属性和多项服务。 2.类 类代表的是一种抽象,是代表对象的本质的、主要的、可观察的行为。类给出了属于该类全部对象的抽象定义,而对象则是符合这种定义的一个实体。因此类能创造新的对象,并且每个对象都属于一个类,通常我们把属于某个类的一个对象称为该类的实例。 对象既具有共同性,也具有特殊性。运用抽象的原则舍弃对象的特殊性,抽取其共同性,则得到一个具有广泛共性的类。如果在这个类的范围内,考虑具有某些特殊性的一组事物,则这些事物也可以被抽象为另一个类。这个新类不仅具有前一个类的共性,同时它还具有自己特殊的属性。通常,我们把前一个类称为“基类”,把后来生成的那个类称为“派生类”。 4.1.2 面向对象的基本概念 3.继承 一个类可以定义为另一个更一般的类的特殊情况,如“轿车”类是“汽车”类的特殊情况。称一般类是特殊类的父类或超类,特殊类是一般类的子类,如“汽车”类是“轿车”类的父类,“轿车”类是“汽车”类的子类。同样,“汽车”类还可以是“交通工具”类的子类,“交通工具”类是“汽车”类的父类。这样可以形成类的一种一般/特殊的层次关系,如图2-4-1所示。 4.1.2 面向对象的基本概念 4.1.2 面向对象的基本概念 4.封装 封装是面向对象方法的一个重要原则,它主要包括两层意思:一是指把对象的全部属性和全部服务操作结合在一起,形成一个不可分割的整体;二是指对象只保留有限的对外接口使之与外界发生联系,外界不能直接访问和存取对象的属性,只能通过允许的接口操作,这样就尽可能地隐蔽了对象的内部细节,对外形成了一个保护的边界。 5.消息 消息传递是对象间的通信手段,一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如果有必要的话)。消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法完成所需的操作。 4.1.2 面向对象的基本概念 6.结构 在任何一个较为复杂的问题域中,对象之间都不是相互孤立、互不相关的,而是具有一定的关系,并因此而构成一个有
文档评论(0)