天天看点

学看UML类图

学看UML类图

类图主要是表现了类与类之间的关系。按理来说,类与类应高内聚,低耦合。应面向接口实现,而不是面向过程实现。

这时就需要UML类图来帮助我们理清思路。

下面按照关系的由弱到强来展示这几种关系。

1.依赖关系

依赖关系是一种使用的关系。

依赖与关联关系的区别是,关联是一种长久的关系,是一种持久化的关系。比如说,班级类之中的学生属性,这就是一种关联关系。而依赖关系是一种暂时性的关系。

依赖一般情况下是以下几种情况之一:a、ClassA中某个方法的参数类型是ClassB;这种情况成为耦合;b、ClassA中某个方法的参数类型是ClassB的一个属性;这种情况成为紧耦合;c、ClassA中某个方法的实现实例化ClassB;d、ClassA中某个方法的返回值的类型是ClassB;如果出现了上述四种情况之一,两个类很有可能就是“依赖”关系。

依赖关系使用带箭头的虚线表示。

学看UML类图

2.关联

表示一个类的属性保存了对另一个类的一个实例(或多个实例)的引用,当一个类知道另一个类时,可以用关联。

关联关系有四种:双向关联、单向关联、自关联、多重性关联。

① 单向关联:用一个单向箭头的直线表示

② 双向关联:用一个双向箭头或不带箭头的直线表示

③ 自关联:用一个单向箭头的直线表示,单向箭头指向自己

④ 多重性关联:在多重性关系中,可以直接在关联直线上增加一个数字,表示与之对应的另一个类的对象的个数

3.聚合关系与组合关系

聚合关系是一种整体与部分的关系,表示两个类之间的弱拥有关系,即:

类B是类A的一部分,但是类B可以脱离类A独立存在。

聚合关系用带空心菱形的直线表示。

而组合关系是一种强拥有关系,表示类A与类B在拥有聚合关系的基础上,又增添了同生共死,不能分离的特性。

组合关系用带实心菱形的直线表示。

学看UML类图

4.实现关系

实现关系表示的是接口与实现类之间的关系。

是类与类之间进行虚函数与多态的关系。

使用带带三角箭头的虚线表示。

5.继承(泛化关系)

表示父类与子类之间的关系。

就是基类与派生类之间的关系。不解释。

这种关系使用带空心三角形的直线来表示。在idea中为实心。

总结

继续阅读