软件构造课程笔记–Class Diagram详解
上图是软件构造课程实验中的一个类图,各式的箭头和注释令我晕头转向,特此介绍一下何为类图并解释各类箭头和注释的含义。
一、何为类图
类图(UML)是一种用来描述接口、类、属性,方法,以及它们之间的关系的图形化表示
▪ 通常是图形化或形式化的
▪ 在设计阶段建模,并转换为源代码。
▪ 它是根据用户需求进行面向对象分析和设计的结果。
二、类之间的关联和各类箭头的解释
1.1 单向关联:用带箭头的直线表示,箭头指向被拥有者。通常是拥有者的一个字段是一个被拥有对象,或是拥有者与被拥有者之间存在指派关系。
1.2 双向关联:用直线表示,两个类的互相拥有或指派。
1.3. 聚合:用带空心菱形的直线表示,表示整体和部分的关系,菱形指向整体。
1.4 实现(对应implement):用带三角箭头的虚线表示,实现类箭头指向其接口。
1.6 继承(对应extends):用带三角箭头的实现表示,子类的箭头指向父类。
1.5 依赖:用带箭头的虚线表示,一个类的实现需要另一个类的协助,箭头指向被使用者。
三、箭头上的注释
如图:
总结
这样就可以解释最上面那张类图了,比如GeneralPollImpl指派了功能给VoteType,GeneralPollImpl实现了接口poll等等。