什么是UML
UML(Unified Model Language),统一建模语言。
UML 定义了很多种,其中一种就可以用域表示Java类与类之间的关系,常用的如泛化、实现、关联、聚合、组合、依赖等。
当一个系统比较庞大时,适用UML图,能够形象生动的表示出各个功能类之间的依赖关系。
我们来学习一下常用的这几种关系。
1、泛化
泛化也就是继承
class A extends B
表示方式就是实线箭头
2、实现
实现就是类实现接口
class A implements B
表示方式就是虚线箭头
3、关联
一个类中持有另一个类作为成员变量
class ClassA {
private ClassB b;
public void setB(ClassB b) {
this.b = b;
}
}
class ClassB {
}
两个类是用不带箭头的实现相连表示关系
4、依赖
依赖和关联比较相似,区别在于B不在A中作为成员变量,而是作为方法的参数引入的。
class ClassA {
public void useB(ClassB b) {
}
}
class ClassB {
}
两个类是用不带箭头的实现相连表示关系
5、聚合
聚合是强关联的一种,他们的关系是在构造器中发生的,当类A在自己实例化时就会给关联的这个对象B赋值,好比汽车和车轮,建汽车的时候,车轮肯定也是要安装的。
public class ClassA {
private ClassB b;
public ClassA(ClassB b) {
this.b = b;
}
}
使用空心棱形箭头指向A类。
6、组合
组合也是强关联的一种,他们的关系好像是人和心脏,人从细胞发育完全,心脏也是同时生成的,二者不可分离,同时诞生。
public class ClassA {
private ClassB b;
public ClassA() {
this.b = new ClassB();
}
}
使用实心棱形箭头指向A类。