学看UML类图
类图主要是表现了类与类之间的关系。按理来说,类与类应高内聚,低耦合。应面向接口实现,而不是面向过程实现。
这时就需要UML类图来帮助我们理清思路。
下面按照关系的由弱到强来展示这几种关系。
1.依赖关系
依赖关系是一种使用的关系。
依赖与关联关系的区别是,关联是一种长久的关系,是一种持久化的关系。比如说,班级类之中的学生属性,这就是一种关联关系。而依赖关系是一种暂时性的关系。
依赖一般情况下是以下几种情况之一:a、ClassA中某个方法的参数类型是ClassB;这种情况成为耦合;b、ClassA中某个方法的参数类型是ClassB的一个属性;这种情况成为紧耦合;c、ClassA中某个方法的实现实例化ClassB;d、ClassA中某个方法的返回值的类型是ClassB;如果出现了上述四种情况之一,两个类很有可能就是“依赖”关系。
依赖关系使用带箭头的虚线表示。
2.关联
表示一个类的属性保存了对另一个类的一个实例(或多个实例)的引用,当一个类知道另一个类时,可以用关联。
关联关系有四种:双向关联、单向关联、自关联、多重性关联。
① 单向关联:用一个单向箭头的直线表示
② 双向关联:用一个双向箭头或不带箭头的直线表示
③ 自关联:用一个单向箭头的直线表示,单向箭头指向自己
④ 多重性关联:在多重性关系中,可以直接在关联直线上增加一个数字,表示与之对应的另一个类的对象的个数
3.聚合关系与组合关系
聚合关系是一种整体与部分的关系,表示两个类之间的弱拥有关系,即:
类B是类A的一部分,但是类B可以脱离类A独立存在。
聚合关系用带空心菱形的直线表示。
而组合关系是一种强拥有关系,表示类A与类B在拥有聚合关系的基础上,又增添了同生共死,不能分离的特性。
组合关系用带实心菱形的直线表示。
4.实现关系
实现关系表示的是接口与实现类之间的关系。
是类与类之间进行虚函数与多态的关系。
使用带带三角箭头的虚线表示。
5.继承(泛化关系)
就是基类与派生类之间的关系。不解释。
这种关系使用带空心三角形的直线来表示。在idea中为实心。
总结
各类关系从强到弱依次是:继承 > 实现 > 组合 > 聚合 > 关联 > 依赖。
类图中通过实心空心,虚线实线,箭头形状来表示这些关系的区别,一定要注意看。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。