UML类图

UML类图

1. 方法和属性的访问权限

标识 属性
- private
# protected
+ public
~ package private

2. 关系

2.1 泛化(Generalization)

介绍

​ 表示一个类(子类、子接口)继承另一个类(父类、父接口)的功能,并可以增加自己的新功能。

UML表示:空心三角形+实线

代码表现:子类extends父类

public abstract class AbstractList {
}

public class ArrayList extends AbstractList {
}

2.2 实现(Realization)

介绍:一个类实现一个或多个接口的功能。

UML表示:空心三角形+虚线

代码表现:类implements接口

public interface List {
}

public abstract AbstractList implements List {
}

2.3 关联(Association)

介绍:类与类之间具有强依赖关系,但是这两个类的地位是平等的。

UML表示:实线箭头

代码表现:成员变量

public class Point {
  private AtomicDouble x;
  private AtomicDouble y;
}

public class Circle {
  private Point center;
  private AtomicDouble radius;
}

2.4 聚合(Aggregation)

介绍:关联关系的一种特例,体现的是拥有的关系,即has-a关系,整体和部分之间是可分离的,可以具有各自的生命周期。

UML表示:空心菱形+实线箭头

代码表现:成员变量

public class Employee {
}

public class Company {
  private List<Employee> employees;
}

2.5 组合(Composition)

介绍:是一种强拥有关系,即contains-a的关系,体现了严格的部分与整体之间的关系,部分和整体的生命周期一样。

UML表示:实心菱形+实线箭头

代码表现:成员变量

public class Node {
}

public class HashMap {
  private Node[] table;
}

2.6 依赖(Dependency)

介绍:两个相对独立的对象,一个对象依赖另一个对象的服务,体现为依赖关系。

UML表示:虚线箭头

代码表现:局部变量、方法入参或对静态方法的调用

public class Food {
}

public class Person {
  public void eat(Food food) {}
}
posted @ 2021-06-01 11:41  醒也无聊  阅读(102)  评论(0)    收藏  举报