UML类图关系

UML建模工具:RationalRose
文章链接:http://www.verycd.com/topics/2838873/
文章链接2:http://blog.csdn.net/dylgsy/article/details/1076044
在Visio里,包和类的关系是包含关系,将类拖入包的文件夹之后,关系就建立了,二元关联符号可以设置为:聚合、合成。
接口:空心圆+直线(唐老鸭类实现了‘讲人话’);
依赖:虚线+箭头(动物和空气的关系);
关联:实线+箭头(企鹅需要知道气候才迁移);
聚合:空心四边形+实线+箭头(雁群和大雁的关系);
合成:实心四边形+实线+箭头(鸟和翅膀的关系);
泛化:空心三角形+实线(动物和鸟的继承关系);
实现:空心三角形+虚线(实现大雁飞翔的接口);

UML类图

解释UML类图:
1. 首先看“动物”矩形框,它代表一个类。该类图分为三层,第一层显示类的名称,如果是抽象类就要用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法和行为。注意前面的符号,‘+’表示public, ‘—’ 表示private, ‘#’表示protected.


2. “飞翔”矩形框表示一个接口图,它与类图的区别主要是顶端有《interface》显示,第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法,就是唐老鸭类实现了“讲人话”的接口

interface IFly interface Ilanguage
{ {
void Fly(); void Speak();
} }
3. 动物,鸟,鸭,唐老鸭他们之间都是继承的关系,继承关系用空心三角形+实现来表示。

4.“大雁”实现了“飞翔”接口。实现接口用空心三角形+虚线来表示。(注:下面的图中应为空心三角形)

class Bird:Animal class WideGoose:IFly
{ {
//继承动物类 //实现飞翔接口
}
5. 企鹅与气候有很大的关系,企鹅需要“知道”气候的变化,需要“了解”气候规律。当一个类“知道”另一个类时,可以用关联(association)关系。关联关系用实线箭头来表示

class Penguin :Bird
{
private Climate climate;//在企鹅Penguin中,引用到气候Climate对象
}
6. “大雁”和“雁群”这两个类。大雁是群居动物,每只大雁都属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心的菱形+ 实线箭头表示。

class WideGooseAggregate
{
private WideGoose[] arrayWideGoose;
//在雁群WideGooseAggregate类中,有大雁数组对象arrayWideGoose
}
7. “鸟”和“翅膀”这两个类。鸟和翅膀似整体和部分的关系,并且翅膀和鸟的生命周期是相同的,在这里鸟和其翅膀就是合成关系。合成(composition)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。合成关系用实心的的菱形+实线箭头来表示。另外,合成关系的连线两端还有一个数字“1”和数字“2”,,这被称为基数。表明这一端的类可以有几个实例,很显然,一个鸟应该有两支翅膀。如果一个类可能有无数个实例,则就用“n”来表示。关联关系,聚合关系也可以有基数的。

class Bird
{
private Wing wing;
public Bird()
{
wing=new Wing();
//在鸟Bird类中,初始化时,实例化翅膀Wing,它们之间同时生成
}
}
8. “动物”、“氧气”与“水”之间。动物有几大特征,比如有新陈代谢,能繁殖。而动物要有生命,需要氧气,水以及食物等。也就是说动物依赖于氧气和水。它们之间是依赖关系(Dependency),用虚线箭头来表示。

abstract class Animal
{
public bolism(Oxygen oxygen,Water water)
{
}
}
转自:http://blog.csdn.net/cuijian_ok/archive/2009/05/14/4176218.aspx
另一片介绍UML类图关系的:http://blog.csdn.net/dylgsy/archive/2006/08/16/1076044.aspx
UML】——图关系 UML图中,常见的有以下几种关系:泛化(Generalization),依赖(Dependency), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition)。 阅读详情

相关推荐

【简易设计模式02】UML中的图关系图符号表示法

总第54篇在第53篇中,我们已经对设计模式进行了系统性的介绍,为了更好地理解设计模式,本文将对UML(Unified Modeling Language) 描述的图关系进行详细地介绍,并对其相应的符号表示方法进行归纳。1.面向对象中的关系在进行面向对象系统设计时,我需要根据系统的需求来抽象出一些,并设计之间的关系,这就是我们常说的业务建模。设计优良的关系是我们实现“高内聚、低耦合...

实战开发者Airex 700

一张图解释UML图关系

一张图解释UML图关系

fhl13017599952的专栏 750

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

目录 图关系 概述 面向对象是符合人们对现实世界的思维模式,利用面向对象设计,特别是采用各种设计模式来解决问题时,会设计多个,然后创建多个对象,一个设计良好的,应该是兼顾信息和行为并且高内聚。而不同的之间,应该做到松耦合。当面对应用系统或者需要解决的问题经常是复杂的、高度抽象的,我们创建的多个对象往往是有联系的,通常对象之间的关系可以分为以下几: 泛化关系 实现关系 依赖关...

Guizy 27万+

UML概述、图关系及连接线表示

继承和实现体现的是一种、或者与接口间的纵向关系;依赖关联聚合组合体现的是与接口间的引用,即横向关系;这几种关系,所表现的强弱程度依次为:组合 > 聚合 > 关联 > 依赖。

FreeLikeTheWind的博客 3066

UML图关系表示

UML图关系表示图说明图关系依赖关联聚合组合泛化(继承)实现 图说明 UML描述系统的静态结构方式有图、包图、对象图。这里主要要的是图来描述系统静礅结构。 图的关系有:关联、依赖、聚合、组合、实现、泛化。 图关系 依赖 表示一个的实现需要其他的协助(局部变量、方法的参数、静态引用),用虚线加箭头表示,箭头指向被依赖者,一般避免双向依赖。 关联 拥有关系,如丈夫拥有妻子,用实线箭头(或无箭头)表示,1对1 1:N一对多 , N:M多对多。场景:成员变量 聚合 整体与部分的拥有

oThrowsException的博客 2906

UML图关系大全

<br />UML图关系大全

新哥依旧灿烂 949

【重学UMLUML图关系及其对应代码

时隔一年重学UML,收货满满

shang_0122的博客 8515

UML:图关系总结

UML图几种关系的总结,泛化 = 实现 &gt; 组合 &gt; 聚合 &gt; 关联 &gt; 依赖 在UML图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 泛化(Generalization) 【泛化关系】:...

IQIT 6478

专家指导 UML图关系表示方法

UML图关系主要有关联,依赖,泛化,实现等,那么它们的表示方法你是否熟悉,本文就像大家介绍一下UML图关系的表示方法。 AD: 本节和大家一起学习一下UML图关系的表示方法,主要包括关联,聚合,泛化,实现,依赖等内容,希望通过本节的学习大家对UML图关系的表示方法有一定的掌握。下面是具体介绍。 UML基础 1:UML关系的种 2:关联 UML...

iteye_13543的博客 192

UML 图关系及符号表达

UML 图关系及符号表达 UML 图中有以下几种常见的关系,依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和实现(Realization),下面对这几种关系及其表达方式做一个极简的介绍。 依赖(Dependency) 表示一个对不在其实例作用域内的另一个或对象的引用,通常有以...

Iron 的博客 5160

UML图关系全面剖析

本文随便转载,请保留出处:http://blog.csdn.net/dylgsy/UML图关系分为: 关联、聚合/组合、依赖、泛化(继承)。而其中关联又分为双向关联、单向关联、自身关联;下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里。1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关

一雨田的专栏 6万+

UML图关系解析

学生拥有手机,但手机不是学生的一部分,没有整体与部分的关系。部门是公司的一部分,且部门无法独立存在。芯片是手机的一部分,但也可以独立存在。不同的是,这里驾驶的车只存在。

qq_73100085的博客 292

UML 图关系

图关系

weixin_58440931的博客 1291

浅谈UML的概念和模型之UML图关系

拼搏的小船长 352

一图看懂UML图关系

nowthink的博客 209
上一篇: 清华校长送给毕业生的五句话
下一篇: 设计模式之设计模式分类和三种工厂模式
lvwenwenjava
博客等级 码龄15年 53粉丝 726原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值