一、什么是UML?
UML中文名为统一建模语言(Unified Modeling Language)。UML是一种开发的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的开放方法。
二、UML中类之间的关系####
以下用实际的例子说明一下UML中类之间的关系:
- 实现关系
在UML图中以空心三角+虚线来表示:
在面向对象的编程中,一般会定义基类和继承类。基类不能实现方法,可以理解为傀儡类,“傀儡类”有基础的属性。实际工作的是实现类,即子类。在Java中可以使用abstract 定义“傀儡类”或者使用interface 接口。
Person是一个抽象类,人可以是学生、科学家、记者等等。学生与Person之间的关系便是实现关系。
-
泛化关系
以空心三角+实线表示:
泛化关系
学生是一个可以是小学生、初中生、大学生等。学生是一个泛化的类,那么小学生与学生之间的关系便是泛化关系。
-
组合关系
以实心菱形+实线表示:
组合关系
一个企业由多个部门,企业与部门有着强关系,如果企业倒闭了,那么部门随之也就没有了。组合关系可以理解为具有强依赖的聚合关系。
-
聚合关系
以空心菱形+实线表示:
聚合关系
聚合关系不是强依赖关系,比如一个企业的部门没有了,但是企业的职员还是职员,并不会因为部门的撤销而改变身份。
-
依赖关系
以虚线+箭头表示:
依赖关系
依赖关系通常在运行时产生,并且是临时性关系。比如构造函数中的参数。
- 关联关系
以实线+箭头表示:
关联关系为静态关系,与运行时无关。一般是常识性的强关系。学生与身份证之间便是关联关系。
网友评论