【前言】学习UML有一段时间了,大概知道UML中有哪些需要我们重点去了解的内容。都知道UML中最重要的就是那些图,但是今天小编想说说的是UML中的那些关系。
学过UML都知道UML中有四种关系:关联、依赖、泛化和实现,接下来就分别描述一下这四种关系适合于什么样的情况,并举例说明一下。
图示:
类型:1.单向关联(带有箭头的直线,箭头指向被拥有者)
2.双向关联(直线)
3.自关联(从自己出发最后又指向自己带箭头)
分类:关联可分为整体-部分关系,包括聚合和组合
聚合(Aggregation):两个个体可以单独存在,但是互相配合使用,就像是遥控器和电视机,他们两个都是独立的事物可以单独存在,但是遥控器是电视的一部分,但是需要配合电视使用。
图示:带空心菱形的直线
组合(Composition):部分不能离开整体而单独存在,比如人和人的心脏,心脏属于人的一部分,但是心脏不能脱离于人儿独立存在,人没有了心脏不能存活,心脏离开了人体也不能再跳动。
子类=父类的属性和方法+子类自己新增的属性和方法
【总结】在画图的过程中,找对用例之间的关系是十分重要的,这些关系体现了我们对系统的了解程度,如果连用例之间的关系都找不准确,那么系统实现起来就会十分困难。要想找准关系,那么我们就应该对这四种关系就应该十分了解,知道什么情况应该用哪种关系。
学过UML都知道UML中有四种关系:关联、依赖、泛化和实现,接下来就分别描述一下这四种关系适合于什么样的情况,并举例说明一下。
一、关联(Association)
解释:描述了两个或多个类之间的结构性关系,用于表示一类对象与另一类对象之间有联系。图示:
类型:1.单向关联(带有箭头的直线,箭头指向被拥有者)
2.双向关联(直线)
3.自关联(从自己出发最后又指向自己带箭头)
分类:关联可分为整体-部分关系,包括聚合和组合
聚合(Aggregation):两个个体可以单独存在,但是互相配合使用,就像是遥控器和电视机,他们两个都是独立的事物可以单独存在,但是遥控器是电视的一部分,但是需要配合电视使用。
图示:带空心菱形的直线
组合(Composition):部分不能离开整体而单独存在,比如人和人的心脏,心脏属于人的一部分,但是心脏不能脱离于人儿独立存在,人没有了心脏不能存活,心脏离开了人体也不能再跳动。
图示:带实心菱形的直线
二、依赖(Dependency)
解释:依赖关系就是使用关系,是最弱的关系图示:带有箭头的虚线
举例:依赖关系描述的就是一种使用关系,就像人和动物要维持生命就需要水和氧气一 样,这形容的就是依赖关系。在系统分析中描述的就是一个类要调用另一个类里 面的方法,这两个类就可以称为是依赖关系。
三、泛化(Generalization)
解释:说泛化关系比较难理解,但是泛化也叫作继承买就是子类从父类继承到了所有的属性和方法。子类=父类的属性和方法+子类自己新增的属性和方法
图示:直线加空心三角
分类:单重继承:子类从一个父类中继承方法和属性
双重继承:子类从多个父类中继承方法和属性
四、实现(Realization)
解释:主要指类与接口之间的关系,一个类实现一个接口即为实现关系。是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。图示:虚线加空心三角
【总结】在画图的过程中,找对用例之间的关系是十分重要的,这些关系体现了我们对系统的了解程度,如果连用例之间的关系都找不准确,那么系统实现起来就会十分困难。要想找准关系,那么我们就应该对这四种关系就应该十分了解,知道什么情况应该用哪种关系。