UML类图学习

  学习设计模式的时候每个模式都会有一个UML类图,一般这些类图都还是比较容易看懂的,但是当自己设计UMl类图的时候,就头大了。dependency,composition,aggregation,association有什么区别?还有那些0……*,0……1,1……*都是什么意思?让我们一起来学习一下。所有UML类图都使用PowerDesigner绘制。

一般化、泛化——Generalization

  用在两个类或者两个接口之间就是继承,类和接口之间就是实现,箭头指向被继承或被实现者

依赖——Dependency

  临时的、偶然的关系,可以为单向或者双向,代码表现为一个类或者接口作为另一个类或接口的参数,箭头指向作为参数的类

  

关联——Association

  类与类、类与接口之间的持久关系,双方地位平等。可以为单向或者双向,代码表现为被关联项作为关联项的属性,或者被引用项是一个全局变量。箭头指向被引用项

  

聚合——Aggregation

  类与类、类与接口之间的部分与整体关系,但部分与整体是可分离的,即has-a的关系。例如:家庭——成员之间的关系,部分可以独立于整体生存,部分可以属于多个对象。代码表现和关联一样,只能从语义区分。箭头指向部分

  

组合——Composition

  也是部分与整体的关系,但是两者不可分离,拥有相同的生命周期,部分不可以独立于整体生存,即contains-a关系。例如:人体——心脏之间的关系。箭头指向部分

  

其他

  箭头

  

  关系所表现的强弱程度依次为:组合>聚合>关联>依赖;

  多重性关系

  多重性关联关系又称为重数性(Multiplicity)关联关系,表示两个关联对象在数量上的对应关系。


表示方式

多重性说明

1..1
表示另一个类的一个对象只与该类的一个对象有关系

0..*
表示另一个类的一个对象与该类的零个或多个对象有关系

1..*
表示另一个类的一个对象与该类的一个或多个对象有关系

0..1
表示另一个类的一个对象没有或只与该类的一个对象有关系

m..n
表示另一个类的一个对象与该类最少m,最多n个对象有关系 (m≤n)

  下图表示一个公司拥有1到n个员工,一个人属于0或1个公司

  

  

时间: 2024-12-31 03:13:40

UML类图学习的相关文章

(21)UML类图学习

UML类图的学习和使用 1.参考博客http://www.uml.org.cn/oobject/201211231.asp

UML 类图学习

!!!摘自: http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html 类图中几种结构 http://www.open-open.com/lib/view/open1328059700311.html 1.什么是类图 类图(Class diagram)主要用于描述系统的结构化设计.类图也是最常用的UML图,用类图可以显示出类.接口以及它们之间的静态结构和关系. 2.类图的元素 在类图中一共包含了以下几种模型元素,分别是:类

UML类图简单学习 各种对象、关系UML表示法

<大话设计模式>上面的UML类图: 类的UML表示 动物 的矩形框 表示是一个类. 类图分为三层,第一层显示类的名称,如果是抽象类,则用斜体表示:第二层是类的特性,通常就是类的字段和属性:第三层显示类的操作,通常就是方法或行为. 前面的“+”表示是public,“-”表示是private,“#”表示是protected. 接口的UML表示 接口的UML表示与类图的区别主要是顶端有<<interface>>显示,第一行是接口名称,第二行是接口的方法. 接口还有另外一种表示

UML学习(一)——类图学习

在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类 2. 实现(R

[转载]UML类图总结

前言 类图和序列图是UML中最常用的两种Diagram.我将做详细的总结.在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系.这足以说明类图的重要性. 对类图的基本认识有以下两点: 类图是以反映类的结构(属性.操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法: 类图中的类与面向对象语言中的类的概念是对应的,是对现实世界中的事物的抽象. 我们基于以上两点,来对类图进行更详细的学习. 类图中基本语法学习 在UM

UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html http://sundensky.blog.163.com/blog/static/7728873420109299167434/ 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系:在Java中此类关系

UML类图关系表示方法

本文转载: http://blog.csdn.net/fengsh998/article/details/8105631 分类: UML2012-10-24 10:18 1175人阅读 评论(0) 收藏 举报 UML类图关系的表示方法,主要包括关联,聚合,泛化,实现,依赖等内容,希望通过本节的学习大家对UML类图关系的表示方法有一定的掌握.下面是具体介绍. UML基础 1:UML类间关系的种类 2:关联 UML类图关系中关联描述了系统中对象或实例之间的离散连接,关联带有系统中各个对象之间关系的信

【软件设计】UML类图怎么看

前言 无论使用哪种语言,都离不开面向过程与面向对象两个流派,而类图是面向对象程序设计中至关重要的一种软件表达形式,如何看懂类图,并设计好的软件架构,是我们作为软件工程师必不可少的技能之一. 今天小黑把类图学习的一些笔记和心得分享出来,供大家参考. 什么是类 了解类图之前,我们需要简单了解一下类的概念 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 在面向过程设计中,数据和算法组织成为程序.而面向对象中,数据+算法的理论基础并没有改变,虽

深入浅出UML类图

在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition>(<UML精粹:标准对象建模语言简明指南(第3版)>)中有这么一段:“If someone were to come up to you in a dark alley and say, 'Psst, wanna