代码如人生,在生活中,每个人都不是一个单独的个体,而是一个大环境中的一员,例如:我与我爸的关系是父子,与导员的关系是师生,与宿舍某个人的关系是同学。正是由于这些关系的存在才让我与其他人产生了关联。同理,类与类之间也同样具有某种关系。这种关系有四种,下面我们一一介绍。
泛化(Generalization)
泛化表示类与类之间的继承关系,子元素共享父元素的结构和行为。例如:男人和女人都具有人类的结构和行为,则可以用下图表示:
箭头指向父类
依赖(Dependency)
依赖关系表示一个类依赖于另一个类,通常,依赖体现在某个类的方法使用另一个类座位参数。例如:动物依赖氧气和水而存活。
这里氧气作为呼吸方法的参数。
实现(Reallzation)
实现是指一个类元描述了另一个类元保证实现的契约。一个类实现了一个接口。例如:手机类实现了人们通信的接口。
关联(Association)
关联关系描述的是类与类之间的连接,表示一个类知道另一个类的属性和方法。
普通关联:
单项关联
指一方可以调用对方的属性和方法。例如:运动员可以调用篮球的属性和方法。
双向关联
指可以互相调用对方的公共属性和方法。
在Person类中会有属性名为employer,类型为Company,在Company类中会有会有属性employee,类型为Person,这一块我理解的也不是很好,望大牛指点。
聚合(Aggregation)
是一种弱的拥有关系,A对象可以包含B对象,但A与B的生命周期可以不同。例如:雁群和大雁的关系。
组合关系(Composition)
整体与部分的关系,部分不能离开整体而单独存在。例如鸟和翅膀的关系
在此,类图中的几种关系就已经总结完了,这些只是现在我对这几种关系的认识,相信随着学习的深入,会有更好的理解。