类与类之间的关系:
1.继承关系 继承指的就是一个类(称为子类,子接口)继承另外的一个类(称为父类,父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extend明确标识,在设计时一般没有争议。(继承类的属性和方法)类只支持单继承,而接口支持多继承。一个类只有一个父类,一个类可以实现多个接口,可以克服单继承的缺点。
继承分为单继承和多重继承。单继承是指一个子类最多只能有一个父类。
2.实现关系 实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与类之间最常见的关系。在Java中此类关系一般通过关键字implements明确标识,在设计时一般没有争议性。
3.依赖关系 简单理解,依赖就是一个类a使用到了另一个类b,而这种关系是具有偶然性的,临时性的,非常弱的,但是类b的变化会影响到类a。
4.关联关系 关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强,不存在依赖关系的偶然性,关系也不是临时性的,一般是长期性的而且对方关系一般是平等的。
5.聚合关系 聚合是关联关系的一种特例,它体现的是整体与局部的关系,此时整体与部分是可以分离的
它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享
6.组合关系 组合也是关联关系的一种特例,它体现的是一contains-a的关系,这种关系比聚合更强,也称为强聚合。他同样体现整体与部分的关系,但此时整体与部分是不可分的,整体的生命周期结束也意味着部分的生命周期结束,比如人和人的大脑。