参考
概要
本文主要介绍类之间的6种关系,UML类图,时序图
正文
一 类之间六种关系
关系1:泛化关系(generalization)
类的继承结构表现在UML中为, 泛化关系和实现关系(realize)
继承关系可以表示为 .... 是......, (.... is ....), 例如:人是动物,杨树是植物
最终代码中,泛化关系表现为继承非抽象类
关系2:实现关系(realize)
最终代码中,实现关系表现为继承抽象类
关系3:聚合关系(aggregation)
聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义,
聚合关系中的整体和部分不是强依赖的,即使整体不存在了,部分仍然存在
关系4:组合关系(composition)
组合关系同样表示整体由部分构成的语义,
组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了
关系5:关联关系(association)
关联关系描述不同类的对象之间的结构关系,是一种静态关系,通常与运行状态没关系,
一般由常识等因素决定的,一般用于定义对象之间的静态,天然的结构
关联关系是一种强关联的关系
关联关系默认不强调方向,
最终代码中,关联对象通常是以成员变量的形式实现的
关系6:依赖关系(dependency)
依赖关系描述一个对象在运行期间用到另一个对象的关系
是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化,依赖关系可能发生变化
依赖也有方向,双向依赖是一种非常糟糕的结构,
应该始终保持单向依赖,避免双向依赖的产生
最终代码中,依赖关系体现为类构造方法和类方法的传入参数
依赖关系处理临时知道对象外,还是使用对方的方法和属性