类与类之间

类与类之间的关系

 
 

纵向

继承关系

继承指的是一个类继承另外一个类的功能,并且可以增加它自己新功能的能力
java中使用extends关键字来明确标识

 

 
 
图中b继承a

实现关系

java中一个类可以实现多个接口,是类与接口常见的关系,通常使用implements明确标识

 

 
 

横向

依赖关系

某一个类A依赖某一个类B,常用在A需要使用B类的某个某个方法

 

 
 

关联关系

关联体现的是两个类之间语义级别的一种 强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。表现在代码层面,为被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。

 

 
 

聚合关系

聚合是关联关系的一种特例,它体现的是整体与部分的关系,即 has-a 的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。比如计算机与CPU、公司与员工的关系等。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。

 

 
 

组合关系

组合也是关联关系的一种特例,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。
 

 

posted @ 2023-10-06 10:28  小心每个错误  阅读(22)  评论(0)    收藏  举报