经常看一些技术书籍里面都有涉及UML图
一直对这块很陌生,今天上网特意去攻克了下这块知识。
在这里做个分享和笔记。
UML常见的主要有6大关系。
泛化(Generalization),
实现(Realization),
关联(Association),
聚合(Aggregation),
组合(Composition),
依赖(Dependency)。
用车子来做例子非常的合适
UML类图关系举例
1.泛化关系(generalization)
【具体解释】:指继承关系,子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
【代码体现】:子类继承父类
2.实现关系(Realization)
【具体解释】:和泛化关系几乎一致,区别是实现关系继承了一个抽象类(abstract ,interface),泛化关系继承了一个继承具体类。
【代码体现】:子类实现接口或抽象类
3.关联关系(Association)
【具体解释】:类与类之间的联接,它使一个类知道另一个类的属性和方法。在Java语言中,关联关系一般使用成员变量来实现。如码农和他领导之间的关系。
【代码体现】:成员变量
4.聚合关系
(Aggregation)
【具体解释】:整体与部分的关系,且部分可以离开整体而单独存在。
【代码体现】:成员变量
5.组合关系
(Composition)
【具体解释】:是整体与部分的关系,但部分不能离开整体而单独存在。如部门和公司的关系
【代码体现】:成员变量
6.依赖关系(Dependency)
【具体解释】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。
【代码体现】:局部变量、方法的参数或者对静态方法的调用