学习了UML图以后发现里面的关系就想人体的血管一样,每一条血管输送的血液到达的地方不一样,从哪里输出也是不同的,所以就要先学会辨别这里面的关系。
在UML中有6种关系:泛化、实现、依赖、关联、聚合、组合。
泛化:就是继承的一种体现,子类继承父类所具有的所有,这种继承就是泛化可以通过一个等式表示出来:子类=父类的方法和属性+子类自己新增的方法和属性。
箭头符号:空心三角形实线
实现:就是类对接口的实现的关系,举例就是有一个行为是“呼吸”的接口,通过一个人 类实现这个呼吸的动作。
箭头符号:一条虚线+空心箭头。
依赖:一个类的实现需要通过另一个类的协助,通俗点说就是开门需要钥匙,然后我们使用钥匙才能把门打开,我们和钥匙就是一种依赖关系。
箭头符号:虚线加同箭头
关联:表示“拥有“,关联具有长期性、平等性(可双向),在现实生活中就是夫妻关系的一种体现,当然一对多的关联也有,比如说老师和学生等。
箭头符号:双向关联,一条实线或一条实线+两个箭头;单向关联,一条实线+一个箭头。
剩下的两个关系可以归类到关联关系种,因为它们两个体现的是整体与部分的关系,不过它们还是要区分一下的,聚合的关联关系相比较组合的关联关系就弱了,聚合表现的整体与部分的关系是可以独立存在的,如部门与员工之间的关系,部门解散并不影响员工,而员工离职也不影响这个部门的存在。组合就是一种强烈的整体与部分的关系体现了,手机和手机电池就是一种体现,如果手机没有电池它就不能用,而电池不在上手机那它也就没有作用,二者不可单独存在,这就是一种组合关系。
聚合箭头符号:一条实线+空心菱形
组合箭头符号:一条实线+实心菱形