类图无非就是在说明类与类之间的关系。
类与类之间的关系,无非分为两种:上下级关系和平级关系。
继承父类:
实线加空心三角表示。
实现一个接口:
虚线加空心三角表示。
平级关系:关联关系和依赖关系。
关联关系又分为普通的关联关系和特殊的关联关系。
普通的关联关系:表现在代码上是某一个类中持有了另一个类的对象,关联对象通常是以成员变量的形式实现的。
关联关系是用一条直线表示的,关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;
特殊的关联关系为组合和聚合。
组合关系中,各个类或者说类的对象之间的关系是一种逻辑上的组合关系,不存在强的依赖关系。比如大雁和雁群,大雁脱离雁群仍然存在,雁群没有了一只大雁,也仍然存在。
组合关系用一条带实心菱形箭头直线表示,如下图表示A组成B,或者B由A组成;
聚合关系,各个类或者说各个类的对象直接的关系就比较紧密了,比如说一人有头、身子和四肢聚合而成,少了那一个都不能称之为一个正常的人。每一个器官也不能脱离人这个概念而单独存在。
聚合关系用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;
最后说下 依赖关系:
与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生。在最终代码中,依赖关系体现为类构造方法及类方法的传入参数,箭头的指向为调用关系。
依赖关系是用一套带箭头的虚线表示的;如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;