学看UML类图
类图主要是表现了类与类之间的关系。按理来说,类与类应高内聚,低耦合。应面向接口实现,而不是面向过程实现。
这时就需要UML类图来帮助我们理清思路。
下面按照关系的由弱到强来展示这几种关系。
1.依赖关系
依赖关系是一种使用的关系。
依赖与关联关系的区别是,关联是一种长久的关系,是一种持久化的关系。比如说,班级类之中的学生属性,这就是一种关联关系。而依赖关系是一种暂时性的关系。
依赖一般情况下是以下几种情况之一:a、ClassA中某个方法的参数类型是ClassB;这种情况成为耦合;b、ClassA中某个方法的参数类型是ClassB的一个属性;这种情况成为紧耦合;c、ClassA中某个方法的实现实例化ClassB;d、ClassA中某个方法的返回值的类型是ClassB;如果出现了上述四种情况之一,两个类很有可能就是“依赖”关系。
依赖关系使用带箭头的虚线表示。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SMiZ2M5IWZ1gzNzgzNiNGZ3YDM4kTZ2YmY1ETOjdDMx8CX5IzLclDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
2.关联
表示一个类的属性保存了对另一个类的一个实例(或多个实例)的引用,当一个类知道另一个类时,可以用关联。
关联关系有四种:双向关联、单向关联、自关联、多重性关联。
① 单向关联:用一个单向箭头的直线表示
② 双向关联:用一个双向箭头或不带箭头的直线表示
③ 自关联:用一个单向箭头的直线表示,单向箭头指向自己
④ 多重性关联:在多重性关系中,可以直接在关联直线上增加一个数字,表示与之对应的另一个类的对象的个数
3.聚合关系与组合关系
聚合关系是一种整体与部分的关系,表示两个类之间的弱拥有关系,即:
类B是类A的一部分,但是类B可以脱离类A独立存在。
聚合关系用带空心菱形的直线表示。
而组合关系是一种强拥有关系,表示类A与类B在拥有聚合关系的基础上,又增添了同生共死,不能分离的特性。
组合关系用带实心菱形的直线表示。
4.实现关系
实现关系表示的是接口与实现类之间的关系。
是类与类之间进行虚函数与多态的关系。
使用带带三角箭头的虚线表示。
5.继承(泛化关系)
表示父类与子类之间的关系。
就是基类与派生类之间的关系。不解释。
这种关系使用带空心三角形的直线来表示。在idea中为实心。