组合和聚合的区别,通俗易懂。

Posted 来老铁干了这碗代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组合和聚合的区别,通俗易懂。相关的知识,希望对你有一定的参考价值。

聚合与组合都是表示整体和个体的关联关系,他们之间最大的区别在于子类被父类控制的程度。组合的父子类关系比聚合要强。

组合:part-of关系,父类拥有子类,子类不能独立于父类存在。
这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。
下面代码的A类、B类之间的关系是组合关系

public class A {
	void funcA() {
		// ...
	}
}

public class B {
	A a;
	a.funcA();
}

聚合:has-a关系,父类包含子类,子类可以独立于父类存在。
整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。

下面代码的A类、B类之间的关系是聚合关系

public class A {
	void funcA() {
		// ...
	}
}

A a;
public class B {
	a.funcA();
}

以上是关于组合和聚合的区别,通俗易懂。的主要内容,如果未能解决你的问题,请参考以下文章

通俗易懂一文入门UML类图(笔记收藏)

java实现排列组合(通俗易懂)

java 聚合和组合的区别?

通俗易懂:索引单列索引复合索引主键唯一索引聚簇索引非聚簇索引唯一聚簇索引 的区别与联系

图解 SQL 执行顺序,通俗易懂!

图解 SQL 执行顺序,通俗易懂!