UML中的类关系概述

UML中有以下类关系:依赖、泛化和关联。按照关联的不同含义,关联可以分为多种类型,这里我们重点介绍普通关联、聚合和组合。
一、依赖关系(Dependency)
依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用依赖关系。
事实上,关联和泛化也都是依赖,但由于关联和泛化有其特殊的语义,因此不归类到依赖类别中。
在通常情况下,依赖关系有以下几种表示形式:
a) 参数。即某个类的方法使用另一个类作为参数。
b) 调用。即某个类的操作调用另一个类的操作。比如直接调用类的静态成员函数。
c) 绑定。即为模板参数指定值,以生成一个新的模型元素。
d) 友元。即friend。
e) 实例化。即在一个类的方法方法中创建了另一个类的实例。
f) 发送。即表明信号(消息)发送者和接收者之间的关系。
二、泛化(Generalization)
泛化是继承关系,是叫做“is-a”的关系。
三、关联(Association)
关联是一种结构化的关系,指一种对象和另一种对象有联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。一般用实线连接有关联的同一个类或不同的两个类。当你想要表示结构化关系时使用关联。
3.1 普通关联
3.2 聚合(Aggregation)
聚合是关联的特例。它表示部分和整体关系的关联。聚合的图标是一个空心的菱形。
一个典型的例子是计算机与(主板、CPU、内存)的关系。
3.3 组合(Composition)
组合是聚合的变种,是更强形式的关联。整体与部分之间具有很强的所有关系和一致的生命周期。在一个组合关系中,一个对象一次只能使一个组合的一部分,“整体”负责“部分”的创建和销毁。组合的图标是一个实心的菱形。
一个典型的例子是,Window和Button、Menu、ListBox之类的关系。
从实现上来讲,聚合和组合没有本质上的区别,但是从物理意义上来讲还是有区别的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值