uml类图

发布时间 2023-12-20 21:58:10作者: 代不动码

一 类的表示方法

UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示

+表示public
-表示private
#表示protected
~表示default,也就是包权限
_下划线表示static
斜体表示抽象

二 类和类之间关系
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
UML类图中的五种关系的耦合强弱比较:依赖<关联<聚合<组合<继承

1 泛化
泛化(Generalization)表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系

1.1 继承
继承表示是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。
继承使用空心三角形+实线表示。
鸟继承动物类(动物类为抽象类):

 


1.2 实现
实现表示一个class类实现interface接口(可以是多个)的功能。
1)矩形表示法
使用空心三角形+虚线表示
比如:大雁需要飞行,就要实现飞()接口

 

3 关联

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。
关联关系用实线箭头表示。
企鹅需要‘知道’气候的变化,需要‘了解’气候规律。当一个类‘知道’另一个类时,可以用关联。

 

4 聚合
表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期。
聚合关系用空心的菱形+实线箭头表示。
每一只大雁都属于一个大雁群,一个大雁群可以有多只大雁。当大雁死去后大雁群并不会消失,两个对象生命周期不同。

5 组合
组合是一种强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。
组合关系用实心的菱形+实线箭头表示,还可以使用连线两端的数字表示某一端有几个实例。

鸟和翅膀就是组合关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。

 

2 依赖

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。
依赖关系用虚线箭头表示。

动物依赖氧气和水。调用新陈代谢方法需要氧气类与水类的实例作为参数

 

 

 使用UML类图表示代码的静态结构。