第8章 面向对象的概念与记号.ppt

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 面向对象的概念与记号

第八章 面向对象的概念和记号 在20世纪,软件开发引入了面向对象方法。 从80年代中期起,人们开始注重面向对象分析和设计技术的研究,逐步形成了面向对象方法学。 进入90年代后,面向对象方法学已经成为人们在开发软件时最重要的范型之一。 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类解决问题的方法与过程,使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 面向对象方法学的主要结论 客观世界的问题都是由客观世界中的实体及实体间的关系构成。 从动态观点看,对对象施加的操作就是该对象的行为。 客观世界中的实体既具有静态的属性又具有动态的行为。因此,面向对象方法把对象作为由数据及可施加在这些数据上的操作所构成的统一体。 对象不仅能被动地等待外界对它进行操作,而且也可以主动处理相关事件的请求。 面向对象方法学中的“对象”,是解空间中的对象,软件系统就是由一系列离散的解空间对象构成的集合。我们应该使得解空间中的对象与问题空间中的对象尽可能一致。这些解空间中的对象,是通过发送消息而相互作用,从而得出问题的解。 面向对象方法学的优点 与人类习惯的思维方法一致; 稳定性好; 可重用性好; 较易开发大型软件产品; 所开发出的软件可维护性好; 面向对象软件比较容易修改; 面向对象软件比较容易理解; 面向对象软件易于测试和调试。 8.1 面向对象的概念 8.1.1 对象的概念 我们认为,在应用领域中有意义的、与所要解决的问题有关系的任何事物,都可以作为对象, 它既可以是具体概念,也可以是人为的概念,还可以是任何具有明确边界和意义的事务。 客观世界中的对象,既具有静态的属性,又具有动态的行为。 面向对象方法学中的对象既描述了该对象属性数据,也描述了对这些数据施加的操作(也称为服务或方法),属性和对属性的操作封装在一起,即对象是对属性值和操作的封装。 对象的特点 对象以数据为中心,操作围绕着数据来设置; 对象是主动的; 对象实现了数据封装,一个对象类型可看作是一种抽象数据类型; 对象具有并行性; 对象独立性好。 8.1.2类及其它关系概念 1. 类(class) 在现实世界中,存在着彼此相似的客观事物,人们通常习惯于把这些具有相似特征的事物归为一类,这就是分类思想。 在面向对象中,“类”就是对具有相同数据和相同操作的一组相似对象的定义,在定义中通常也给出了对怎样创建该类的新对象的说明。 类图用来描述系统的结构。类图描述类及类与类之间的静态关系。 类图是一种静态模型,它是创建其它图的基础。 一个系统可以由多张类图来描述,一个类也可以出现在几张类图中。 类是一组具有相同结构和行为的对象抽象。对象是类的实例,对象在系统执行过程中可创建、修改和取消。一个对象具有包括其属性值在内的状态,以及与其它对象的链接。 为类命名时应该遵守的准则 使用标准术语。 使用具有确切含义的名词。 必要时使用名词短语。 总之,名字应该是富于描述性的、简洁的而且无二义性的。 2. 类之间的关系 类之间的关系通常有关联、泛化(继承)、依赖和细化等4种关系。 (1)关联 关联表示两个类的对象之间存在某种语义上的联系。 关联分为普通关联、限定关联和关联类。 普通关联是最常见的关联关系,只要类与类之间存在连接关系就可以用普通关联表示。普通关联的图示符号是连接两个类之间的直线。 关联一般是双向的,在一个方向上为关联起一个名字,在另一个方向上为关联起另一个名字,如果关联清晰的话,也可不起名字。为避免混淆,在名字前面(或后面)加一个指示关联方向的黑三角。 在表示关联的直线两端可以写上重数(multiplicity),重数表示该类有多少个对象与对方的一个对象相连接。重数的表示方法通常有: 0..1: 表示0到1个对象; 0..*或*: 表示0到多个对象; 1+或1..*:表示1到多个对象; 1..15: 表示1到15个对象; 3: 表示3个对象。 如果图中未明确标出关联的重数,则默认重数是1。 在任何关联中,都会涉及到关联对象所扮演的角色(即起的作用),显式标明角色名有助于理解类图。 如果没有显式标出角色名,则意味着用类名同时作为角色名。 限定关联通常用在一对多或多对多的关联关系中,可以把模型中的重数从一对多变成一对一,或将多对多简化成多对一。 在类图中把限定词放在关联关系末端的一个小方框内。 为了说明关联的性质,我们还可以增加一些附加信息。这样可以引入关联类来记录这些信息。 关联中的每个连接与关联类的一个对象相联系。关联类通过一条虚线与关联连接。 (2)聚集 聚集是关联的特例。聚集所表示的类之间的关系是整体与部

文档评论(0)

3471161553 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档