图解UML-类图

什么是UML?

统一建模语言(Unified Modeling Language——UML)是一种面向对象的建模语言,它可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,是一种定义良好、易于表达、功能强大且普遍适用的建模语言

常用的UML图有哪些?

静态视图 动态视图
1.用例图(UseCase Diagrams) 1.状态图(Statechart Diagrams)
2.类图(Class Diagram) 2.活动图(Activity Diagrams)
3.对象图(Object Diagrams) 3.时序图(Sequence Diagrams)
4.构件图(Component Diagrams) 4.构件图(Component Diagrams)
5.部署图(Deployment Diagrams)

什么是类图?

类图是描述系统中的类,以及各个类之间的关系的静态视图。是面向对象系统建模中最常用和最重要的图,是定义其他图的基础。

在UML类图中,常见的有以下几种关系:

  1. 泛化(继承)(Generalization)
  2. 实现(Realization)
  3. 关联(Association)
  4. 聚合(Aggregation)
  5. 组合(Composition)
  6. 依赖(Dependency)

泛化(继承)(Generalization)

图解UML-类图_第1张图片

  1. 类和子类的关系,接口和子接口的关系。

  2. 比如学生类可以继承人类。类图中可以采用一条带空心三角箭头的实线,从子类指向父类,或者子接口指向父接口。

实现(Realization)

图解UML-类图_第2张图片

  1. 类和接口之间的关系。

  2. 比如学生类和学习接口。类图中可以采用实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。

关联(Association)

图解UML-类图_第3张图片

  1. 两个类之间的关联,也可以是一个类和自身的关联

  2. 比如班级类和学生类,学生类作为成员变量存在于班级类中。类图中可以采用实现用一条箭头实线表示,指向成员变量类。

依赖(Dependency)

图解UML-类图_第4张图片

  1. 一个类A使用到了另一个类B,但是这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。

  2. 比如班级类和学生类,班级类作为学生类的方法入参。类图中可以采用实现用一条箭头虚线表示,指向入参类。

聚合(Aggregation)

图解UML-类图_第5张图片

  1. 整体和部分的关系。
  2. 比如大雁和雁群之间的关系,两者不是生命周期不同。类图中可以采用实现用一条空心菱形加实线箭头表示,部分指向整体。

组合(Composition)

图解UML-类图_第6张图片

  1. 整体和部分关系、整体部分不可分离、比聚合更强。

  2. 比如大雁和大雁翅膀的关系,两者是同生共死的。类图中可以采用实现用一条实心菱形加实线箭头表示,部分指向整体。

依赖和关联之间的区别?

依赖是一种弱关联,两者之间的关系是偶然的、临时性的、非常弱的。而关联是一种必然的关系,例如老师教学生,老公和老婆这种关系是非常明显的。

关联和聚合之间的区别?

聚合是关联的一种特例。聚合相比于关联更加突出整体与局部之间的关系。

聚合和组合之间的区别?

聚合的整体与部分是可以分开的,拥有不同的生命周期,不是同生共死的。
组合的整体与部分是不可以分开的,拥有相同的生命周期,是同生共死的。

你可能感兴趣的:(UML,uml,java,开发语言,uml类图,程序设计)