类图(Class diagram)——UML之图二(下)

上文主要讲到UML中对类 和类图的理解。本文则侧重写类图涉及的几种关系。

事物和事物之间都是相互联系的,而类又是事物的抽象,所以,类与类之间也是相互联系的。而且这种联系,一定是平常事物之间的联系 是我们并不陌生的联系。

 类之间的关系包括:

1关联

·普通关联

类和类之间最普遍的一种,描述两个类之间有一定的结构关系。用直线表示

图中 图书馆和图书管理员就是普通关联关系。其中修饰部分works in 为关联名。Employee 和Employer表示员工和老板是两个类的角色的名字。

如果将其转为语言的话,即library里有一个属性是librarian,librarian里面也有一个属性是library,表示类与类之间的结构关系。

此外还要注意的是 多重性。

左图中只有两个类。person旁是“ 1···* ”     ,company旁是“ * ”。表示一个公司需要一个或多个人。一个人可以为多家公司工作。

关联如果如图

则和代码的映射为

        

·聚合


    整体和部分之间 可相互独立。用空心菱形表示,并指向整体。在时间上约束并不严格。

比如书架和书是整体和部分关系,书架里包含很多书。没有书架书也可以单独存在。聚合关系。

比如汽车和轮胎之间是整体和部分关系,汽车包括轮胎,没有汽车轮胎也可以单独存在。聚合关系。


·组合

整体和部分之间 不可相互独立。用实心菱形表示,菱形指向整体。存在生命期的附属关系。

比如人和头之间是整体与部分关系。先有人才有头,没有人, 头就不存在。头是人的附属。组合关系。

比如书和页之间是整体与部分关系。先有书才有也,没有书,就没有一页一页。页是头的附属。组合关系。

比如公司和部门之间是组合关系。

         组合和聚合, 两类之间的关系与代码的映射也是有区别的。

2依赖

是一种使用关系。箭头指向被依赖方。它说明一个事物规格说明的的变化可能影响到使用它的另一个事物。但反之未必。

当类A的方法需要用到类B时 则类A依赖类B。比如现代人要依赖计算机。

3泛化

是继承关系。空心箭头指向父类。

例如,猫和动物之间就是泛化关系。猫继承动物的属性。

4实现

UML类图关系中实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,其中接口只是行为的说明而不是结构或者实现。


类图

1 首先看一下系统称重的类图


2 下面看一下 机房收费系统的类图。(点此查看大图



3 有所改进的类图

以上是我的理解,不妥之处请拿出来批评指教。多谢。



评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值