Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
类图是描述类、接口以及类之间关系的图。
类图常用来描述业务或软件系统的组成、结构和关系
类在 UML 中通常以实线矩形框表示。 矩形框中有若干分隔框,分别包含类名、属性、行为等元素。如下图:
类名:图中蓝色背景的字,如果字体为斜体,表名该类为抽象类 属性:类名下边的区域 行为:属性下边的区域 可见性:属性和行为前边的 "+"、"-" 和 "#"(图中未标注) 分别表示 public、private 和 protected
接口的类图表述与类大致相同,不同的是接口名要添加 Interface 标识,且行为的可见性必须用 "+" 表示。如下图:
继承是面向对象语言的三个特性之一。子类继承父类,子类可以使用父类所有非私有的属性和方法,其UML类图表示如下:
UML 类图中继承关系使用空心三角形+实线表示。
实现与继承类似,实现类继承接口中的方法,但是方法必须由实现类自己实现,其UML类图表示如下:
UML 类图中实现关系使用空心三角形+虚线表示。
指类与类之间的关系,它使得一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。
用 Java 代码表示企鹅只存在在南极,与气候有关系:
public class Penguin {
private Climate climate;
}
其UML类图表示如下:
UML 类图中关联关系使用实线箭头表示。
指类与类之间的联接,依赖关系表示一个类依赖于另一个类的定义。一般而言,依赖关系在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用。
用 Java 代码表示程序员工作需要用到电脑:
public class Programmer{
public void work(Computer computer) {
}
}
其UML类图表示如下:
UML 类图中依赖关系使用虚线箭头表示。
关联关系的一种,表示一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
用 Java 表示每只鸟都有翅膀:
public class Bird {
private Wing wing;
public Bird() {
wing = new Wing();
}
}
其UML类图表示如下:
UML 类图中组合关系使用实心菱形实线表示。
关联关系的一种,表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但是B对象不是A对象的一部分。
用 Java 代码表示大雁是群居动物,每只大雁都属于一个雁群,一个雁群可以有多只大雁:
public class WildGooseAggregate {
private List<WildGoose> wideGooses;
}
其UML类图表示如下:
UML 类图中聚合关系使用空心菱形实线表示。
本文转载自:https://juejin.im/post/59c46e57f265da064a0f4294