一、关联
对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。关联用横线表示。例如一个公司可以对应着多个员工。
1.1 聚合:关联的一种,聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如电脑和它的显示器、键盘、主机、鼠标就是聚和关系。如下图。
1.2 组合:关联的一种,对于具有组合的两个对象,整体对象会制约它的组成对象的生命周期。部分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随之消失。如果人没有了头部和四肢,就没法工作了,对于程序来说,程序就没法运行了。
二、依赖
一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。具体表现依赖关系表现在局部变量,方法的参数,以及对静态方法的调用。两个对象的关系用虚线和箭头来表示。
比如现在有两个对象,一个是人,一个是手机,其中手机有一个打电话的方法。那么人想打电话就得依赖手机具有打电话的方法来实现。
三、泛化
其表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系,一般/特殊关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。用空心三角也实线表示,如下图。小狗与小猫都可以继承动物的一些公有的属性,比如颜色、年龄等等。
四、实现
类与接口之间的关系。用空心三角和虚线来表示