栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java组合与聚合区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java组合与聚合区别

java组合与聚合区别
  • java中的组合与聚合区别
    • 名称解释:
      • 1、*聚合*:
        • 指==分散==的聚集到一起
      • 2、*组合*:
        • 指组织成==整体==。
    • 理解 :
        • 聚合从字面意思看是将分散的集中到一起,所谓分散,就是各个散点都是独立的。而组合字面意思是强调整体,各部分不能单独成为个体。大家一起拼出一个整体。
    • 现实中的例子:
      • ==*聚合*==: 柠檬水 = 水+柠檬
        • 这里就是柠檬聚合到水中,水与柠檬单独存在。水中加了黄瓜就是黄瓜水。
      • ==*组合*== :人= 内脏+头脑+身体(还是这个例子比较贴切)
        • 人活着就有心跳。反之心脏对象状态停止。
    • java演示:
      • java聚合:
      • java组合:

java中的组合与聚合区别 名称解释: 1、聚合: 指分散的聚集到一起 2、组合: 指组织成整体。 理解 : 聚合从字面意思看是将分散的集中到一起,所谓分散,就是各个散点都是独立的。而组合字面意思是强调整体,各部分不能单独成为个体。大家一起拼出一个整体。 现实中的例子: 聚合: 柠檬水 = 水+柠檬 这里就是柠檬聚合到水中,水与柠檬单独存在。水中加了黄瓜就是黄瓜水。 组合 :人= 内脏+头脑+身体(还是这个例子比较贴切) 人活着就有心跳。反之心脏对象状态停止。 java演示: java聚合:
class A{
	public void cc(B b){
		System.out.println(b.show());
	}
}
class B{
	public void show(){
		System.out.println("hello");
	}
}
class C{
	A a = new A();
	B b = new B();
	a.cc(b);
}

上面的例子可以看出,B这个对象在A对象调用完任然被C引用,并没有消失。可以看出,如果参照物是A,B与A的关系就是聚合。A使用B时就聚在一起干点事,不用了B也还是可以被别人用。

java组合:
class A{
	public A(){
		B b = new B();
	}
	b.show();
}
class B{
	public void show(){
		System.out.println("hello");
	}
}
class C{
	A a = new A();
}

上面的例子可以看出,B这个对象在A对象调用完自然也就消失了。所以,如果参照物是A,B与A的关系就是组合。B随着A创建一起创建,A的消失一起消失。

以此为例:大家举一反三即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/272124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号