1、是什么
类图是对一组具有相同属性、方法、关系和语义的对象的描述,一个类可以实现一个或多个接口,一个对象是一个类的实例;也就是对名词进行抽象而得到的图;
2、包含元素:
类,接口,协作,关系(依赖、泛化、实现和关联)
3、类图的关系:
-
这几个关系的强弱顺序:泛化= 实现> 组合> 聚合> 关联> 依赖
-
关联关系:
是类与类之间最常用的一种结构化关系,用于表示一类对象与另一类对象之间有联系 ;
1. 普通关联:
2. 关联类:两个对象之间的连接本身可以拥有自己的属性和行为,如果把连接看作是一个类的实例,则该类成为关联类;如下图:
3. 聚合(空心):整体和部分关系,组合间制约关系较强烈;
4. 组合(实心):整体与部分之间有附属关系,整体制约部分
- 依赖:
使用关系,普遍存在关系,结构化关系包含使用关系,也可以简单理解为一种使用关系;就好像我们上机的时候需要刷卡,那么学生和卡之间就是实现关系;
- 泛化:
泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展;泛化通俗来讲继承,子类继承父类,类与类之间的继承关系,继承机制最大化的进行软件复用,减少维护代价
继承有单重继承和多重继承,表示一个类有一个或一个以上的父类
- 实现:
类元之间的语义关系,一个类元描述了另一个类元实现的契约 ;
4、四种关系的使用:
-
能用继承来描述的关系就使用泛化关系
-
当描述接口和类的实现时一定用实现来描述
-
两个类之间如果有结构关系的时候一定用关联来描述
-
除此之外用依赖来描述
5、类的应用:
类图用于描述系统中所包含的类以及它们之间的相互关系,帮助简化系统开发人员对系统的理解,是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据;
- 下面以机房收费系统为例所画类图:
PS:荣幸与您分享,理解难免会有偏颇之处,还希望来访的大神们指出,一起成长;