类与类之间
类与类之间的关系
纵向
继承关系
继承指的是一个类继承另外一个类的功能,并且可以增加它自己新功能的能力
java中使用extends关键字来明确标识
 
图中b继承a
实现关系
java中一个类可以实现多个接口,是类与接口常见的关系,通常使用implements明确标识
 
横向
依赖关系
某一个类A依赖某一个类B,常用在A需要使用B类的某个某个方法
 
关联关系
关联体现的是两个类之间语义级别的一种 强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。表现在代码层面,为被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。
 
聚合关系
聚合是关联关系的一种特例,它体现的是整体与部分的关系,即 has-a 的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。比如计算机与CPU、公司与员工的关系等。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。
 
组合关系
组合也是关联关系的一种特例,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。
 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号