读书人

UML种之间关系

发布时间: 2012-12-27 10:17:10 作者: rapoo

UML类之间关系

一、关联

两个相对独立对象,当对象的实例与另外一个对象特定实例存在固定关系时,两个对象之间就存在关联关系。


1.普通关联

(1)单向关联

UML种之间关系

UML种之间关系
学生使用单放机,但单放机不会有使用学生

(2)双向关联

UML种之间关系

UML种之间关系


计算机与仪表之间互有通信

(3)多种关联


UML种之间关系
UML种之间关系
教师与学生既给学生授课,也给学生答疑。

(4)一个类与多个类关联


UML种之间关系
UML种之间关系

教师不仅给学生A授课,也给学生B授课。

(5)自身关联

UML种之间关系

UML种之间关系


在Employee这个类中,有1个chef和多个workers。chef和workers之间是responsible关系。

2.聚合

关联关系中一种特例,强调整体和个体之间的关系。但整体和部分呢是可以分离的,换句话就是具有各自的生命周

期。


UML种之间关系
UML种之间关系

如图电视机可以有screen、tvbox(电视机箱)、Remote Control(遥控器)等组成。没有了遥控器,电视


机依然能够存在;反过来也是一样。


3.组合

也是关联关系中一种特殊形式。同样表示整体和部分的关系,但这种关系比聚合更强。但整体的生命期结束后也就意

味着部分的生命周期结束了。


UML种之间关系UML种之间关系

如图human可以有一个head、body等。Human不能失去head,当human的生命期结束了,head的生命周


期也就结束了。反之亦然。


二、依赖

类在实现某个功能的时候必须引用到另一个类的,则两个类之间存在依赖关系。


UML种之间关系UML种之间关系

如图courseschedule在实现add a course方法的时候,会用到course。

三、泛化子类继承父类的功能,是类之间或者接口之间最常见的关系。

UML种之间关系UML种之间关系


如图 engineer 和manager继承employee父类,从而继承了父类Employee的属性和方法。

1.单重继承

子类只有一个父类

2.多重继承

一个子类有两个或两个以上的父类


UML种之间关系UML种之间关系

如图在子类Amphibiousvehicle上有两个父类LandVehicle 和 WaterVehicle,但这时候就会出现假如,andVehicle


和WaterVehicle都有V这个属性,那AmphibiousVehicle到底继承哪一个呢?就会出现二义性。


四、实现

UML种之间关系

UML种之间关系


如图类class 、subsystem、component实现了接口interface。接口:只是给出了方法的操作和原型,并没有给出


具体的代码实现,通过类来实现。


总结:对UML类之间的关系进行了一些浅显的概述


1. 关联
2. 泛化
3. 依赖
4. 实现
1楼lfmilaoshi昨天 12:05
要深刻理解,很重要的概念n米老师
Re: chenfanglincfl昨天 15:19
回复lfmilaoshin嗯

读书人网 >软件架构设计

热点推荐