UML类图对象图两者之间的异同.ppt

上传人:tia****nde 文档编号:2894920 上传时间:2019-12-04 格式:PPT 页数:37 大小:312KB
返回 下载 相关 举报
UML类图对象图两者之间的异同.ppt_第1页
第1页 / 共37页
UML类图对象图两者之间的异同.ppt_第2页
第2页 / 共37页
UML类图对象图两者之间的异同.ppt_第3页
第3页 / 共37页
点击查看更多>>
资源描述
UML图类图、对象图,类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,还包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期中都是有效的。 对象图是类图的实例,几乎具有与类图完全相同的标识。它们的不同之处在于对象图显示类图的多个对象实例,而不是实际的类。由于对象存在生命周期,所以对象图只能在系统的某一时间存在。,类 图,类图(Class Diagram)是描述类、接口以及它们之间关系的图,用来显示系统中各个类的静态结构。 虽然一个类图仅仅显示的是系统中的类,但是存在一个变量,确定了显示各个类的真实对象实例的位置,就是对象图。 类图包含三个元素:类、接口、类与类之间的关系。,一、类,类是面向对象系统组织结构的核心。是对一组具有相同属性、操作、关系和语义的对象的描述。 类定义了一组有着状态和行为的对象。其中,属性和关联用来描述状态。属性通常用没有身份的数据值表示,如数字和字符串。关联则用有身份的对象之间的关系表示。行为由操作来描述,方法是操作的实现。,在UML中,类用矩形来表示,并且该矩形被划分为3个部分:名称部分(Name)、属性部分(Attribute)和操作部分(Operation)。其中,顶端的部分存放类的名称,中间的部分存放类的属性、属性的类型及其值,底部的部分存放类的操作、操作的参数表和返回类型。 在UML中,还可以根据建模的实际情况来选择隐藏属性部分或操作部分,或者两者都隐藏。 隐藏属性部分或操作部分,并不代表没有属性或操作,只是因为没有显示出来。,1、名称(Name) 类的名称是每个类中所必须有的元素,用于同其他类相区分。类的名称应该尽可能的明确,以免造成歧义。 类的名称是一个字符串,可分为简单名称和路径名称。单独的名称即不包含冒号的字符串叫做简单名;用类所在的包的名称作为前缀的类名叫做路径名。,2、属性(Attribute) 类的属性是类的一个组成部分,也是一个特性,描述了类在软件系统中代表的事物(即对象)所具备的特性,这些特性是所有的对象所共有的。类可以有任意数目的属性,也可以没有属性。 在UML中,类属性的语法为: 可见性 属性名 :类型 =初始值 属性字符串,(1)可见性。 可见性描述了该属性对于其他类是否可见,以及是否可以被其他类引用,而不仅仅是被该属性所在类可见。类中属性的可见性主要包括公有(Public)、私有(Private)和受保护(Protected)。 可见性的表示: Public:“+”,具有公共的可见性,其它类都能使用它 Protected:“#”,具有受保护的可见性,该类的任何子孙都能使用它 Private: “” ,表示具有私有的可见性,只有这个类自身能使用它 如果没有用可见性符号修饰一个属性或者操作,那么就认为它的可见性是公有的,(2)属性名 根据定义,类的属性首先是类的一部分,而且每个属性都必须有一个名字以区别于类中的其他属性。通常情况下属性名由描述所属类的特性的名词或名词短语组成。按照UML的约定,单字属性名要小写。如果属性名包含了多个单词,这些单词要合并,且除了第一个单词外其余单词的首字母要大写。,(3)类型 典型的数据类型有:整型、布尔型、实型和枚举类型,这些称为简单类型。简单类型在不同的编程语言中有不同的定义,但是在UML中,类的属性可以用任意类型,包括系统中的其他类。当一个类的属性被完整的定义后,它的任何一个对象的状态都由这些属性的特定值所决定。,(4)初始值 设定初始值有两个用处:保护系统的完整性,防止漏掉取值或被非法的值破坏系统的完整性;为用户提供易用性。 (5)属性字符串 用来指定关于属性的其他信息,任何希望添加在属性定义字符串值但又没有合适地方可以加入的规则,都可以放在属性字符串里。,3、操作(Operation) 类的操作是对类的对象所能做的事物的抽象,相当于一个服务的实现,且该服务可以由类的任何对象请求以影响其行为。 属性是描述类的对象特性的值;操作用于操纵属性或者执行其他动作。操作通常称为函数,它们位于类的内部,并且只能应用于该类的对象。 在UML中,类操作的语法为: 可见性 操作名 (参数表) :返回类型 属性字符串,(1)可见性: 同属性的可见性。 (2)操作名: 同属性名。 (3)参数表。 参数表是一些按顺序排列的属性定义了操作的输入。参数表是可选的,即操作不一定必须有参数。参数可以具有默认值,这意味着如果操作的调用者没有提供某个具有默认值的参数的值,那么该参数将使用指定的默认值。,(4)返回类型。 返回类型是可选的。绝大部分编程语言只支持一个返回值,即返回类型之多一个。虽然没有返回类型是合法的,但是具体的编程语言一般要加一个关键字Void来表示无返回值。 (5)属性字符串: 同属性的属性字符串。,二、接口(Interface),接口是在没有给出对象的实现和状态的情况下对对象行为的描述。接口包含操作但不包含属性,且它没有对外界可见的关联。一个类可以实现一个或多个接口,且所有的都可以实现接口中的操作。,接口用来描述类的对外可见的操作集。它既不描述任何结构(因此不包含任何属性),也不描述任何实现(因此不包含任何实现操作的方法) 接口之间可以存在泛化关系,因此接口实质上和不具有属性和方法、仅具有抽象操作的抽象类很相似 与类一样,接口也可以参与泛化、关联、依赖和实现关系 实现关系将一种元素(如类)与另一种模型元素(如接口)连接起来,其中接口只是行为的说明而不是结构或实现。,可用两种方法来表示接口 简化形式。把接口和实现关系画成一个从类伸出的、且一端带有小圆圈的直线 使用扩展形式。把接口表示成具有衍型的类,简化形式的局限性在于不能直接地对接口提供的操作或者信号进行可视化,扩展形式允许对接口中的操作和其它特征进行可视化,然后画一个从类或者构件到接口的实现关系,三、类之间的关系,依赖关系(Dependency) 表示类之间的使用关系 泛化关系(Generalization) 表示类之间一般和特殊的关系 关联关系(Association) 表示对象之间的结构关系 实现(Realization) 表示类中规格说明和实现之间的关系,1、依赖关系 依赖是两个模型元素之间的一种语义关系,用来描述两个类之间存在的与依赖有关的语义上的连接。其中一个类是独立的,另一个类不是独立的,它依赖于独立的类,需要由独立的类提供服务。如果独立的类变了,将影响依赖于它的类。 例如“课程计划”与“课程”之间存在依赖关系,其中“课程”是独立的类,而“课程计划”依赖于“课程”。,UML定义了4种基本依赖类型: 使用(Usage)依赖 抽象(Abstraction)依赖 授权(Permission)依赖 绑定(Binding)依赖。,使用依赖(use)是类中最常用的依赖。声明使用一个模型元素需要用到已存在的另一个模型元素,这样才能正确的实现使用者的功能。 在UML中,依赖用一个从客户指向提供者的虚箭头表示,用一个构造型的关键字来区分它的种类。,使用依赖 使用依赖是非常直接的,通常表示客户使用提供者提供的服务以实现它的行为。 使用依赖分五种: 使用(use) 调用(call) 参数(Parameter) 发送(send) 实例化(instantiate),2、泛化关系 泛化关系是一种存在于一般元素和特殊元素之间的分类关系,其中特殊元素与一般元素兼容,且还包含附加的信息。泛化可以用于类、用案以及其他模型元素。 泛化关系描述了“is a kind of”的关系。在类中,一般元素被称作超类或父类,而特殊元素被称作子类。 在UML中,泛化关系用一条从子类指向父类的空心三角箭头表示。,泛化的实例,使用泛化关系的银行帐户类,3、关联关系 关联关系是一种结构关系,它指明一个事物的对象与另一个事物的对象之间的联系。关联的任何一个连接点都叫做关联端,与类有关的许多信息都附在它的端点上。 在UML中,关联关系用一条连接两个类的实现表示。 最普通的关联是二元关联。关联的实例之一是链,每个链由一组对象构成,每个对象来自于相应的类,其中二元链包含一对对象。有时同一个类在关联中出现不止一次,这是一个单独的对象就可以与自己关联。,除了关联的基本形式之外,还有5中应用于关联的修饰,分别是:名称、角色、多重性、聚合和组合。 名称(Name) 关联可以有一个名称,用来描述关联的性质。通常情况下,使用一个动词或动词短语来命名关联 名称以前缀或后缀一个指引阅读的方向指示符以消除名称含义上可能存在的歧义,方向指示符用一个实心的三角形箭头表示。,角色(Role) 角色是关联关系中一个类对另一个类所表现出来的职责。当类出现在关联的一端时,该关联就在关联关系中扮演一个特定的角色。角色的名称是名词或名词短语,以解释对象是如何参与关系的。,多重性 关联的多重性是指有多少对象可以参与该关联,多重性可以用来表达一个取值范围、特定值、无限定的范围或一组离散值。 在UML中,多重性是用数字范围来表示的 每个数字范围是一对由圆点分割开来的整数,如09 可用特殊的符号*来表示一个没有上界的范围,也即可以认为符号*表示“无穷大” 一个其下界和上界都是相同数字的范围可以简写为一个数字,例如数字范围11可用单个数字1来表示 可用一个由数字范围和单个数字组成的列表来表示多重性。例如0, 3*表示一个给定的实体是可选的、但如果发生就必须至少发生三次以上,一个人能且只能替一个公司工作,但一个公司可以雇用零个或多个雇员,聚合关系 “is-part-of”关系实际上指定了一个对象是另一个对象的一部分,或者反过来说,它表明了一个对象是由若干个其它对象组成的。这种指定对象的组成的关系叫做聚合关系,一个电子邮件消息是由邮件头、 邮件体和未指明数目的附件构成的,聚合关系有两个特性:反对称性与传递性 反对称性: 如果一个链接是某个聚合关系的实例,那么它就不能用来将一个对象和其自身连接起来 传递性: 如果对象A和对象B以及对象B和对象C之间都是用同一个聚合关系的实例(即一个链接)相连的,那么就可以认为A和C也是相连的,注意,仅当聚合关系使得对象可以和其所属类的实例进行连接时才能应用反对称性和传递性,组合关系是一种强关联关系,它所描述的“部分”对象是依赖于“整体”对象的。这种依赖关系通过如下两种方式表现出来: 首先,在任一给定时刻,一个“部分”对象只能属于一个组合对象 其次,当一个组合对象被撤销时,所有依赖于这个组合对象的“部分”对象都将同时被撤销,4、实现关系 实现关系通常在两种情况下被使用: 在接口与实现该接口的类之间 在用案以及实现该用案的协作之间。 在UML中,实现关系的符号与泛化关系的符号类似,用一条带指向接口的空心三角箭头的虚线表示。 实现关系还有一种省略的表示方法,即将接口表示为一个小圆圈,并和实现接口的类用一条线段连接。,接口的图,实例:图书馆管理系统的类图,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!