什么是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类图中,常见的有以下几种关系:
- 泛化(继承)(Generalization)
- 实现(Realization)
- 关联(Association)
- 聚合(Aggregation)
- 组合(Composition)
- 依赖(Dependency)
泛化(继承)(Generalization)
类和子类的关系,接口和子接口的关系。
比如学生类可以继承人类。类图中可以采用一条带空心三角箭头的实线,从子类指向父类,或者子接口指向父接口。
实现(Realization)
类和接口之间的关系。
比如学生类和学习接口。类图中可以采用实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。
关联(Association)
两个类之间的关联,也可以是一个类和自身的关联
比如班级类和学生类,学生类作为成员变量存在于班级类中。类图中可以采用实现用一条箭头实线表示,指向成员变量类。
依赖(Dependency)
一个类A使用到了另一个类B,但是这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。
比如班级类和学生类,班级类作为学生类的方法入参。类图中可以采用实现用一条箭头虚线表示,指向入参类。
聚合(Aggregation)
- 整体和部分的关系。
- 比如大雁和雁群之间的关系,两者不是生命周期不同。类图中可以采用实现用一条空心菱形加实线箭头表示,部分指向整体。
组合(Composition)
整体和部分关系、整体部分不可分离、比聚合更强。
比如大雁和大雁翅膀的关系,两者是同生共死的。类图中可以采用实现用一条实心菱形加实线箭头表示,部分指向整体。
依赖和关联之间的区别?
依赖是一种弱关联,两者之间的关系是偶然的、临时性的、非常弱的。而关联是一种必然的关系,例如老师教学生,老公和老婆这种关系是非常明显的。
关联和聚合之间的区别?
聚合是关联的一种特例。聚合相比于关联更加突出整体与局部之间的关系。
聚合和组合之间的区别?
聚合的整体与部分是可以分开的,拥有不同的生命周期,不是同生共死的。
组合的整体与部分是不可以分开的,拥有相同的生命周期,是同生共死的。
版权声明:本文为qq_38306425原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。